<!DOCTYPE html><html><head>
      <title>04.DM备份恢复</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      
      <link rel="stylesheet" href="file:///c:\Users\Jyxt\.vscode\extensions\shd101wyy.markdown-preview-enhanced-0.8.18\crossnote\dependencies\katex\katex.min.css">
      
      
      
      
      
      <style>
      @font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW9.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdr.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7g.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdr.ttf) format('truetype')}*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}.markdown-preview code{border-radius:2px;color:#e96900;font-size:12.8px;font-size:.8rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-preview code,.markdown-preview pre{background-color:#f8f8f8;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-preview pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:24px;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 22.4px;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:#42b983;color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:#42b983;color:var(--theme-color,#42b983)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-preview pre>code,.markdown-preview pre[class*=language]{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:12.8px;font-size:.8rem;line-height:2em;max-width:inherit;overflow:inherit;padding:.8em 1.4em;white-space:pre}.markdown-preview pre>code{padding-left:0;padding-right:0}.markdown-preview code:after,.markdown-preview code:before{letter-spacing:.8px;letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:24px;min-height:1.5rem}pre:after{color:#ccc;content:attr(data-lang);font-size:9.6px;font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}pre[data-line]{position:relative;padding:1em 0 1em 3em!important}pre[data-line] .line-highlight-wrapper{position:absolute;top:0;left:0;background-color:transparent;display:block;width:100%}pre[data-line] .line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}pre[data-line] .line-highlight:before,pre[data-line] .line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}pre[data-line] .line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/robotomono/v23/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW9.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdr.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7g.ttf) format('truetype')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;src:url(https://fonts.gstatic.com/s/sourcesanspro/v22/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdr.ttf) format('truetype')}*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:'Loading...'}.emoji{height:19.2px;height:1.2rem;vertical-align:middle}.progress{background-color:#42b983;background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:5}.search .search-keyword,.search a:hover{color:#42b983;color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{color:#34495e;border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}.task-list-item{list-style-type:none}li input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.app-nav{left:0;margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:2}.app-nav p{margin:0}.app-nav>a{margin:0 16px;margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:#42b983;color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 16px;margin:0 1rem;padding:5px 0;position:relative}.app-nav li ul{background-color:#fff;border:1px solid #ddd;border-bottom-color:#ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:scroll;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:16px;line-height:1rem;margin:0;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.app-nav.no-badge{margin-right:25px}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner svg{color:#fff;fill:#42b983;fill:var(--theme-color,#42b983);height:80px;width:80px}.github-corner:hover .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}main{display:block;position:relative;width:100vw;height:100%;z-index:0}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;top:0;bottom:0;left:0;position:absolute;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;width:300px;z-index:3}.sidebar>h1{margin:0 auto 16px;margin:0 auto 1rem;font-size:24px;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar ul{margin:0;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:0;padding:10px;bottom:0;left:0;position:absolute;text-align:center;transition:opacity .3s;width:30px;width:284px;z-index:4}.sidebar-toggle .sidebar-toggle-button:hover{opacity:.4}.sidebar-toggle span{background-color:#42b983;background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;top:0;right:0;bottom:0;left:300px;position:absolute;transition:left .25s ease}.markdown-preview>*{box-sizing:border-box;font-size:inherit}.markdown-preview>:first-child{margin-top:0!important}.markdown-preview hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-preview table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:16px;margin-bottom:1rem;overflow:auto;width:100%}.markdown-preview th{font-weight:700}.markdown-preview td,.markdown-preview th{border:1px solid #ddd;padding:6px 13px}.markdown-preview tr{border-top:1px solid #ccc}.markdown-preview p.tip,.markdown-preview tr:nth-child(2n){background-color:#f8f8f8}.markdown-preview p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-preview p.tip code{background-color:#efefef}.markdown-preview p.tip em{color:#34495e}.markdown-preview p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:'!';font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;width:20px;height:20px;text-align:center;top:14px}.markdown-preview p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:16px;padding:1rem}body.close .sidebar{-webkit-transform:translateX(-300px);transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-300px;transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease}.app-nav,.github-corner{transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{-webkit-transform:translateX(300px);transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner .octo-arm{-webkit-animation:a .56s ease-in-out;animation:a .56s ease-in-out}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}}@-webkit-keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}@keyframes a{0%,to{-webkit-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);transform:rotate(10deg)}}section.cover{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;display:none}section.cover .cover-main{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:24px;line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:40px;font-size:2.5rem;font-weight:300;margin:10px 0 40px;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-7px;bottom:-.4375rem;font-size:16px;font-size:1rem;position:absolute}section.cover blockquote{font-size:24px;font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-color:#42b983;border:1px solid var(--theme-color,#42b983);border-radius:2rem;box-sizing:border-box;color:#42b983;color:var(--theme-color,#42b983);display:inline-block;font-size:16.8px;font-size:1.05rem;letter-spacing:1.6px;letter-spacing:.1rem;margin-right:16px;margin-right:1rem;padding:.75em 32px;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:#42b983;background-color:var(--theme-color,#42b983);color:#fff;margin-right:0}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid #42b983;border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:#42b983;color:var(--theme-color,#42b983)}section.cover.show{display:-webkit-box;display:-ms-flexbox;display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;width:100%;height:100%}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0 6px 15px}.sidebar ul li a{color:#505d6b;font-size:14px;font-weight:400;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.app-sub-sidebar li:before{content:'-';padding-right:4px;float:left}.markdown-preview{background-color:#fff}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview strong{color:#2c3e50;font-weight:600}.markdown-preview a{color:#42b983;color:var(--theme-color,#42b983);font-weight:600}.md-sidebar-toc a{color:#42b983;font-weight:600}.markdown-preview h1{font-size:32px;font-size:2rem;margin:0 0 16px;margin:0 0 1rem}.markdown-preview h2{font-size:28px;font-size:1.75rem;margin:45px 0 12.8px;margin:45px 0 .8rem}.markdown-preview h3{font-size:24px;font-size:1.5rem;margin:40px 0 9.6px;margin:40px 0 .6rem}.markdown-preview h4{font-size:20px;font-size:1.25rem}.markdown-preview h5,.markdown-preview h6{font-size:16px;font-size:1rem}.markdown-preview h6{color:#777}.markdown-preview figure,.markdown-preview p{margin:1.2em 0}.markdown-preview ol,.markdown-preview p,.markdown-preview ul{line-height:25.6px;line-height:1.6rem;word-spacing:.8px;word-spacing:.05rem}.markdown-preview ol,.markdown-preview ul{padding-left:24px;padding-left:1.5rem}.markdown-preview blockquote{border-left:4px solid #42b983;border-left:4px solid var(--theme-color,#42b983);color:#858585;background-color:#f0f0f0;margin:2em 0;padding-left:20px}.markdown-preview blockquote p{font-weight:600;margin-left:0}.markdown-preview iframe{margin:1em 0}.markdown-preview em{color:#7f8c8d}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview ul{list-style:disc}.markdown-preview ul ul{list-style:circle}.markdown-preview ul ul ul{list-style:square}.markdown-preview ol{list-style:decimal}.markdown-preview ol ol,.markdown-preview ul ol{list-style-type:lower-roman}.markdown-preview ol ol ol,.markdown-preview ol ul ol,.markdown-preview ul ol ol,.markdown-preview ul ul ol{list-style-type:lower-alpha}.markdown-preview .newpage,.markdown-preview .pagebreak{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center!important}.markdown-preview:not([data-for=preview]) .code-chunk .code-chunk-btn-group{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .status{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .output-div{margin-bottom:16px}.markdown-preview .md-toc{padding:0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link div,.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}.markdown-preview .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0;min-height:100vh}@media screen and (min-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{font-size:14px!important;padding:1em}}@media print{html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc{padding:0 16px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div,html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% - 300px);padding:2em calc(50% - 457px - 300px / 2);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
/* Please visit the URL below for more information: */
/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
/* 侧边栏目录容器 */
.md-sidebar-toc.md-sidebar-toc {
  background: linear-gradient(145deg, #f8f9fa 0%, #e9ecef 100%) !important;
  border-left: 3px solid #2c3e50 !important;
  padding: 20px 25px !important;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
  width: 300px !important;
  /* 控制目录宽度 */
}
/* 目录标题 */
.md-sidebar-toc::before {
  content: "导航目录";
  display: block;
  font-family: "Microsoft YaHei", sans-serif;
  font-size: 1.4em;
  color: #2c3e50;
  padding-bottom: 12px;
  border-bottom: 2px dashed #adb5bd;
  margin-bottom: 15px;
}
/* 目录项层级缩进 */
.md-sidebar-toc {
  margin: 8px 0;
  transition: transform 0.2s ease;
}
/* 链接样式 */
.md-sidebar-toc a {
  color: #4a5568 !important;
  text-decoration: none !important;
  font-size: 15px;
  display: inline-block !important;
  padding: 4px 8px !important;
  border-radius: 4px;
}
.md-sidebar-toc a:hover {
  background: rgba(44, 62, 80, 0.1) !important;
  transform: translateX(5px);
}

      </style>
      <!-- The content below will be included at the end of the <head> element. --><script type="text/javascript">
  document.addEventListener("DOMContentLoaded", function () {
    // your code here
  });
</script></head><body for="html-export">
    
    
      <div class="crossnote markdown-preview  ">
      
<style>
    .markdown-preview pre>code, .markdown-preview pre[class*=language] {
    	white-space: pre-wrap;
    }
</style>
<h1 id="dm备份恢复">DM备份恢复 </h1>
<blockquote>
<p><a href="https://eco.dameng.com/document/dm/zh-cn/pm/backup-restore-combat.html">官网详细教程跳转</a></p>
<p><a href="https://eco.dameng.com/document/dm/zh-cn/ops/physical-backup-restore.html">官网精简教程跳转</a></p>
</blockquote>
<h2 id="概述">概述 </h2>
<p><strong>DM备份</strong>的本质就是从数据库文件中拷贝<code>有效的数据页</code>保存到<code>备份集</code>中，包括<code>数据文件的描述页</code>和<code>被分配使用的数据页</code></p>
<p>备份时，如果数据库还在运行，此期间数据库操作并不都会立即体现到数据文件中，而是首先以日志的形式写到归档日志中。为了保证用户可以通过备份集将数据恢复到备份结束时间点的状态，就需要将备份过程中产生的归档日志也保存到备份集中</p>
<p>还原与恢复是备份的逆过程</p>
<ul>
<li><strong>还原</strong>：将备份集中的有效数据页重新写入目标数据文件的过程</li>
<li><strong>恢复</strong>：指通过重做归档日志，将数据库状态恢复到备份结束时的状态；也可以恢复到指定时间点和指定LSN</li>
</ul>
<p><img src="data:image/jpg;charset=utf-8;base64,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" alt="备份、还原与恢复"></p>
<h2 id="基本概念">基本概念 </h2>
<h3 id="表空间与数据文件">表空间与数据文件 </h3>
<p>DM 表空间是一个<code>逻辑概念</code>（方便数据库管理）数据库的所有对象在逻辑上都存放在某个表空间中，而物理上都存储在所属表空间的数据文件中。<strong>一个表空间由一个或多个数据文件组成</strong></p>
<ul>
<li><strong>数据文件</strong>：真实数据存储的地方，数据文件的扩展名为<code>.DBF</code>，分为系统默认生成的数据文件和用户自己创建的数据文件两类（HUGE拓展名<code>.DTA</code>）</li>
<li><strong>表空间</strong>：分为<code>普通表空间</code>和<code>混合表空间</code>。普通表空间不能存储 HUGE 表，而混合表空间可以同时存储普通表和 HUGE 表，其中 HUGE 数据文件存储在混合表空间定义中指定的 HUGE 数据文件路径下。可以通过为普通表空间添加 HUGE 数据文件路径将其升级为混合表空间</li>
</ul>
<p>DM表空间分类：</p>
<table>
<thead>
<tr>
<th>类别</th>
<th>存放内容</th>
<th>默认数据文件</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>SYSTEM</td>
<td>全局字典信息、全局系统数据</td>
<td>SYSTEM.DBF</td>
<td>DM 数据库能够正常运行的必要前提。CREATE TABLE 等 DDL 操作会修改 SYSTEM 表空间数据</td>
</tr>
<tr>
<td>ROLL</td>
<td>数据库运行过程中产生的<code>所有回滚记录</code></td>
<td>ROLL.DBF</td>
<td>DM 中几乎所有的数据库修改操作都会生成回滚记录。ROLL 表空间是数据库全局对象，不论修改哪一个表空间，生成的回滚记录都是写入 ROLL 表空间，该表空间由系统自动维护</td>
</tr>
<tr>
<td>TEMP</td>
<td>临时表数据以DM运行时中产生的临时数据</td>
<td>TEMP.DBF</td>
<td>SORT、HASH JOIN 等操作都可能会生成临时结果集，作为临时数据存放在TEMP表空间中。TEMP 表空间是数据库全局对象，由系统自动维护。若数据库重启，保存在 TEMP 表空间中的所有数据都会丢失。<strong>DM 的物理备份还原不支持 TEMP 表空间</strong></td>
</tr>
<tr>
<td>MAIN</td>
<td>用户表、HUGE表数据</td>
<td>MAIN.DBF</td>
<td>MAIN 为混合表空间。<strong>创建用户时，如果没指定默认表空间，系统自动指定 MAIN 表空间为用户默认的表空间</strong>。默认 HUGE 数据文件路径为 HMAIN 目录所在路径</td>
</tr>
<tr>
<td>用户自定义</td>
<td>用户表数据</td>
<td>xxxxx.DBF</td>
<td>用户通过创建表空间相关操作生成的表空间</td>
</tr>
</tbody>
</table>
<h3 id="重做日志">重做日志 </h3>
<p>重做日志（REDO）记录了所有物理页的修改，基本信息包括操作类型、表空间号、文件号、页号、页内偏移、实际数据等（记录DDL、DML）在系统故障重启时，通过重做 REDO 日志，可以将数据库恢复到故障时的状态</p>
<p>DM 数据库默认包含两个扩展名为<code>.log</code>的日志文件，用来保存 REDO 日志，称为<code>联机重做日志文件</code>。这两个文件循环使用。任何数据页从内存缓冲区写入磁盘之前，必须保证其对应的 REDO 日志已经写入到联机日志文件</p>
<p><img src="data:image/png;charset=utf-8;base64,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" alt="image-20250107173506959"></p>
<ul>
<li><strong>REDO日志包(RLOG_PKG)</strong>：保存 REDO 日志的数据单元，一个日志包内可保存一个或多个 PTX（物理事务）产生的 REDO 日志</li>
<li><strong>物理事务(Physical Transaction，ptx)</strong>：数据库内部一系列修改物理数据页操作的集合，与数据库管理系统中事务相对应，具有原子性、有序性、无法撤销等特性</li>
</ul>
<blockquote>
<p>日志包具有自描述的特性，日志包大小不固定，采用固定包头和可变包头结合的方式，包头记录日志的控制信息，包括类型、长度、包序号、LSN 信息、产生日志的节点号、加密压缩信息、日志并行数等内容</p>
</blockquote>
<h3 id="lsn">LSN </h3>
<p>LSN（Log Sequence Number）是由系统自动维护的 Bigint 类型数值，具有自动递增、全局唯一特性，<strong>每一个 LSN 值代表着 DM 系统内部产生的一个物理事务</strong></p>
<p>LSN 相关信息可以通过查询<code>v$rlog</code>和<code>V$RAPPLY_PARALLEL_INFO</code>表获取</p>
<p>DM 主要包括以下 LSN</p>
<table>
<thead>
<tr>
<th>类别</th>
<th>含义</th>
<th>补充说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>CUR_LSN</td>
<td>系统分配的最大 LSN 值</td>
<td>物理事务提交时，系统会为其分配一个唯一的 LSN 值，大小等于<code>CUR_LSN+1</code>，然后<code>CUR_LSN++</code></td>
</tr>
<tr>
<td>FLUSH_LSN</td>
<td>已发起日志刷盘请求，但还未写入联机 Redo 日志文件的最大 LSN 值</td>
<td></td>
</tr>
<tr>
<td>FILE_LSN</td>
<td>已写入联机 Redo 日志文件的最大 LSN 值</td>
<td>每次将 Redo 日志包 RLOG_PKG 写入联机 Redo 日志文件后，都要修改 FILE_LSN 值</td>
</tr>
<tr>
<td>CKPT_LSN</td>
<td>检查点 LSN 值</td>
<td>所有<code>LSN &lt;= CKPT_LSN</code>的物理事务修改的数据页，都已经从 Buffer 缓冲区写入磁盘，CKPT_LSN 由检查点线程负责调整</td>
</tr>
</tbody>
</table>
<p>数据库故障重启时，CKPT_LSN 之前的 REDO 日志不需要重做，只需要从 CKPT_LSN+1 开始重做 REDO 日志，就可以将系统恢复到故障前状态。在联机重做日志文件中，<code>LSN 值&lt;=CKPT_LSN</code>的 REDO 日志都可以被覆盖</p>
<ul>
<li><strong>APPLY_LSN</strong>：数据库还原恢复后已经写入联机 Redo 日志文件的日志包的原始最大 LSN 值，APPLY_LSN 取自源库的原始日志包中的最大 LSN 值。DSC 集群的每一个节点独立维护 APPLY_LSN</li>
<li><strong>RPKG_LSN</strong>：数据库还原恢复后已经重演日志的最大 LSN。DSC 集群的每一个节点独立维护 RPKG_LSN</li>
</ul>
<h3 id="包序号">包序号 </h3>
<p>每个 RLOG_PKG 都有对应的序号属性，称之为包序号（<code>PKG SEQNO</code>），包括本地包序号LSEQ和全局包序号GSEQ，可以通过查询<code>v$rlog</code>和<code>V$RAPPLY_PARALLEL_INFO</code>表来获取全局包序号</p>
<table>
<thead>
<tr>
<th>类别</th>
<th>含义</th>
<th>补充说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>CUR_SEQ</td>
<td>系统已分配的最大全局包序号</td>
<td>RLOG_PKG 写入联机日志文件前，系统会为其分配一个唯一的全局包序号</td>
</tr>
<tr>
<td>FILE_SEQ</td>
<td>已写入联机 Redo 日志文件的最大全局包序号</td>
<td>每次将 Redo 日志包 RLOG_PKG 写入联机 Redo 日志文件后，都要修改 FILE_SEQ 值</td>
</tr>
<tr>
<td>APPLY_SEQ</td>
<td>数据库还原恢复后已写入联机 Redo 日志文件的原始最大全局包序号</td>
<td>APPLY_SEQ 取自源库的原始日志包的包序号。DSC 集群的每一个节点独立维护 APPLY_SEQ</td>
</tr>
<tr>
<td>RPKG_SEQ</td>
<td>数据库还原恢复后已经重演日志的最大全局包序号</td>
<td>DSC 集群的每一个节点独立维护 RPKG_SEQ</td>
</tr>
</tbody>
</table>
<h3 id="检查点">检查点 </h3>
<p>事务运行时，会把生成的 REDO 日志保留在 Redo 日志包 RLOG_PKG 中，每条日志记录对应一个 LSN，当事务提交或 Redo 日志包满或执行检查点时会进行日志刷盘</p>
<p>检查点（checkpoint）是一个<code>数据库事件</code>，它的功能是按照数据页的修改顺序，依次将 BUFFER 缓冲区中的脏页写入磁盘，并在这个过程中动态调整 CKPT_LSN 值，释放日志空间</p>
<p>DM 的检查点分为：</p>
<ul>
<li><strong>完全检查点</strong>：将内存缓冲区中的所有脏页写入磁盘，并调整CKPT_LSN，在数据库正常关闭时会产生一个完全检查点</li>
<li><strong>部分检查点</strong>：根据 dm.ini 配置文件中的参数 CKPT_FLUSH_RATE 和 CKPT_FLUSH_PAGES，确定每次检查点刷脏页的数量。执行部分检查点的过程中，DDL/DML 操作都可以正常执行，DM 系统中绝大多数情况下触发的都是部分检查点</li>
</ul>
<p>数据库运行过程中产生的待写入日志首先写入 Redo 日志包 RLOG_PKG，当日志刷盘时一起写入联机日志文件中。在联机日志文件中，可以覆盖写入 REDO 日志的文件长度为可用日志空间；不能被覆盖的 REDO 日志，系统故障重启需要重做的 REDO 日志为<strong>有效日志</strong>，有效日志的 LSN 取值范围是<code>(CKPT_LSN, FILE_LSN]</code></p>
<p><img src="data:image/jpg;charset=utf-8;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEHAYsDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKyPFWpT6N4S1fU7VN1xa2cs0Y25+ZVJHHpSk7K40ruxr0Vw+m+BtG1HwlA88fmape2YaXWBxds7py3mj5sc42527flxjiua8QzWPhz4m3t6ulQIJNPthcamLVHFnvklV5mH3iSAFzyP73AwXL3Zcr3EnePMv62PXaK8w8a+FfC2j+BrL7FotibaO/s2Dx2iyvIrTIGPyglyy8cZyDj2qbw74ZstS13XEXRZLfwnI9vJBYXdo0MUlwqneywSKNqcrn5Rkr3xTSv/AF6f5g9v68z0miuC+H/hnRYLaTUbbTLS3vINTvkSaCBUYp50ihCQMlQMYHbArupYo54XhmjSSKRSro65VgeCCD1FLoHVofRXHfDPTbHT/CQNnZwW5lurkyGKMKXxPIBnHXAAA9AMVzmoR2+ha9qF54l0p7jT7u8LweJLJy0lspOBDNg70jUrt4yhyARkmjrYOlz1SivPNc0KfTvFdz4j8L2sSajbW0ctzaQxqo1GN3kMitjrIdoKse4xzmtHwcdB1PVtV17R7O1X7WImM6QKkhJGXDEDOdw+YHuKED0Z2VFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTZI0mieKVFeN1KsrDIYHqCPSnUUAc1aeDIrCIWdtrOrJpIPy6b5sZiVf7gcp5oX2D+3TipIvCcMfiO41g6jeyfaLcWr2bpB5BhG7amBHuwCx/iz65HFdDRQBw0Xwzgh0eLSI/E+vLp8M63EUBNsRG6uHXaTDkAMAQuce2K7RFP2fyRcO8iLsaX5d+7HUgDGe/THtUtc/4a/4/vEf/AGFW/wDRMNHSwdbkmi6IfC+mXccF1qGqb5JLkRzeSHLsSzBSqxr8zEn5jgZ6gUwa3qdyfI/4RbXLXzPk+0ebZHys8bsee3Tr909Oh6Vv0UAcppvgg6bbRWieJNalso5/PNtJ9nCuxk8whmWEPtLZyAw446cVPdeDLa7W4t21PU10+6laW6sBKhinLNuYEspdVPQqjKPbJJPSUUAZVvozwa9Pqn9q30gmjWL7I4i8lFXJXGIw/BZurHrznAw7S9A0/RrzUbmwh8ltQmFxOq/dMmMFgOxOMn35rTooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqjq+qQ6Npsl/cxzPBFgyGJdxUf3seg74pNpK7E2krsXWNVtdD0i51S9MgtbZPMlaNC5Ve5wOeOv0rz7wR8SvDOr+ItS02xup5brUdQaa3QWzjcghQEk4wPuN19K7Cy8T+G/EMD28Go2s6zKUaCQ7WYEYI2tgmuM+GPwtXwT4h13UZ8PvlMGnsTki34bJ9zkL/wA9jRGSkrpijKMleLueo0VDNd21uwWa4ijYjIDuAcfjVdNZ0uQ4j1Kzc+izqf60XRVmXqhuZngt2ljtpbl1xiKIqGbntuIHvye1SqyuoZWDKehBqC/nuLaxmmtbRry4Vf3cCuqFz2G5iAB6n07HpQ9hrc5q48Van/AMJRZ6VbaDdf6h7m7ikaHzPLztRkIl2/f4IJzjpWv/bU8fzXOh6pBCPvSbYpcenyxOznn0U++Bk155a2k7eMvEK6ytheXg+zNIzaHLeopMedqBDlABhcty20HqDW54Es/tfh/wAQ2cdxLZh9WnQSWkXkNGMJ9xWBMfHGDyv1Ga5KdSTlb17dDuq0YRjftbv1Ny08Sbbi7GoLKlqJM284066iCx4580um1dvdt2COSFxVbwp4wTWrSyt9QRoNYuIWnaBLWVU8vcdrhiCNpGOd2CTjrxXK6Tb22t6uujMbWws4bSe0tLzTleM6gm4iRUMgZXQA5YZYhwWViCTVv4aRTXl/d3t3e2txNpcA0iH7M4IaJXLBzxyDwFYYyFORnmiFWbnFf1/XYdShTjCT6q39f5npNFFFdh54UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRVe9vrXTbOS7vZ44LeMZaRzgD/wCv7V5J4p+LdxOz2vh5TBF0N3IuXb/dU/dHuefpWNWvCkveZhXxNOirzZ6jq+v6VoMHm6nfRW4Iyqscs30Ucn8BXm2vfGCCaKa10vSxLHIpQyXZwGB4PyDt+Irm9G8A+JfFc/268MkEMpy11eEl3HqAeW/HA969I0X4W+HtL2yXMT6hOOS1wfkz7IOMfXNc3PiK3wLlRx+0xWI+BcsfM8CrqrHwn4y1nT4mgtLySzIzGJpwi49QGYcfSvTNB+G1nBrF1rGqxRSSSTvJBZoo8qFSxK5HQkDHHQe9d9WVHAt6zdhYHBSpTVWfTp/nY8Fg+E3iiXbvjtIcnnzJwcf98g1PJ8HvEaLlbjTpD6LK/wDVBXudFb/UKXmfR/2lX8vuPAJPhj4utGDQ2iSEc7oblAR+ZFRtfePvDZ82WXWII04zMGkiH/fWVr6DopfUYr4JND/tGb+OKfyPANE+It7Yanqd5qFsLxtSSNLho5DA42KVBUr0OD2/Aiu38La34LvNEn0X7bdxm8kaS5GoTlJZ2bG4mRSAc4AwCMjqDk563VvCGga2GN7pkDSNyZYxsfP+8uCfxzXnWvfB2eJWm0K884Dn7Pc4VvwYcH8QPrUezr0tVaS/zNPbYeto7wenppsek6p4c07V7O3tZY/Khg+VBAqoRHjDRhsZVGGAQpBI4zir9tYWVkzta2kEDOqqxijClgowoOByAOB6CvBNN8UeKfA139hnWVY062d2pK49VPYdeVOPrXrXhfx5pHidVijf7NfY5tZW5P8Aun+Ifrx0Fb0a9Oo9rSMK+Gq043vePdGWL2wfx14jt9a1qW1gh+zfZY21OS2UZiy+0K6g84z9ferHhW7Nz4j8U2+nam11ZwrbfZHluXuo0LRsWIJckjd1AYdMZFM03UYNP+IXi3zo7pt/2PHkWss2MRHrsU4696f4bvYpfGnjG8VJxEFtG2tbyLJgRNn5CN2eOBjJ7damLXMter9epU0+WWn2Y+n2TJ8fapI/hPUrObxFolxKGRXtbeHZMSJFyOZmwRjn5T0PSuq03U7jULxYrfxJoN5t+eSK1tyXKAjOMTnHXGcHqKwPt/ia+jiXWorzTra90p+bC2kdoLrzfkY+XmRTs2naSAeQe4q9Zar4iuNZhW3tbq4sbbyLe5kurf7MLkOpL3CB1VlKMMFAWBDDAHWiMlz82utu/wDmEov2fLppftbou3kdlRRRXYcAUUUUAfOnjnUdRXx7rcaalfpGlwqokd1IqqPLTgAHArlz4huFYqda1HIJBxdzHkfjW/46/wCSga9/18r/AOi0rkYZvs+lzTBd2xpWxnrh2rxq05+0krvfufQUKdP2MW4ra+xe/wCEiuP+g1qX/gXN/jR/wkVx/wBBrUv/AALm/wAarbr7/nnb/wDfxv8ACjdff887f/v43+FZ+0l/M/8AwI19lD+Vf+Aln/hIrj/oNal/4Fzf40f8JFcf9BrUv/Aub/Gq26+/552//fxv8KN19/zzt/8Av43+FHtJfzP/AMCD2UP5V/4CWf8AhIrj/oNal/4Fzf40f8JFcf8AQa1L/wAC5v8AGq26+/552/8A38b/AAo3X3/PO3/7+N/hR7SX8z/8CD2UP5V/4CWf+EiuP+g1qX/gXN/jR/wkVx/0GtS/8C5v8arbr7/nnb/9/G/wo3X3/PO3/wC/jf4Ue0l/M/8AwIPZQ/lX/gJZ/wCEiuP+g1qX/gXN/jR/wkVx/wBBrUv/AALm/wAarbr7/nnb/wDfxv8ACjdff887f/v43+FHtJfzP/wIPZQ/lX/gJ6z8LfHuj6doGoQ65rzLMb9mhF1I7t5flRdCc8bg/wCOa9Y0vVbDWrBL7TbqO5tXJCyRngkHB/UV8nbr7/nnb/8Afxv8K7jwv8TNS8I+HBpw0i1uVieSXebllJ3MWxjb713UMWn7s9Pnc83E4Fr3qevytY+haKjgl8+3jlxjegbHpkZqSu88wKKKKACiiigAooooAKKKKACiiigArE8TeKNP8Laabq9fdI2RDAp+eVvb0Hqe35Ap4q8UWfhXSWvLn55XysEAOGlb+gHc9vqQD4pYWGufEnxNJLLLnoZpyP3dunZQPzwO/JPc1y18RyPkhrJnFicU6b9nT1kwu7/xH8SNcWCNGkAOUgTiKBf7xP8AU8noOwr1Lwp8NtK8PiO5ugt9qIwfMcfJGf8AYX+p5+ldDoOgaf4c01bLT4tqDl3bl5G9WPc1qUqOGUXz1NZCoYNRftKusgooorrO4KKKKACiiigAooooAKKKKAM/V9E07XbM2upWqTx/w54ZD6qeoP0rxjxb8OdQ8NudQ0t5bqxQ796/62DHOTjqB/eH4gV7vRWNahCqtd+50UMTUov3dux5R4I+KBkeLTPEMgBPyxXrcfQSf/Ffn3Ner9a8n8ffDUFZdX0GHDDLz2aDr6sg/wDZfy9KpfDn4gGxeLRNYmJtWIW2uHP+qPZWP930Pb6dMadWdOXs6vyfc6KtGFaDrUPmux7LRRRXYeeFFFFABRRRQB81+Ov+Sga9/wBfK/8AotK41v8AkB3X/bb/ANCavTfGXg3xNeeNdXu7TRLm4tp5leOWN48MNijuwPUGvNbmCW20q+gnjMc0bTo6NjKsHYEcV49aElUcmtG0e/h6kJUlFPVRf6G1p1vDd6jb208rwxyuELpGHKk8DgkZ59627/wxaw2WrT2OpSzyaVMIrmOa18rILFNykO2eexxxWRoyb9ashviQCZWLSyLGoAOTlmIA4FdhrtwNaOqaal9p9vNFdvcRGK4iigvYmbjcykKZF4ILHOCc81hGMXTvbXX9P+CdNSclUST00/P+vQ5m80mytvD1jqSX08k12zqIDbBVUpjd8288c8cc+1MsNGWfTZdUvbg2unxyCHzFj8x5JCM7UXIBwOTkgAflWvc6bJeeFNFghu9N86J52kjfUYEKhipXOXHXB46+tIPs154cm8PR3tsLqyvmmglkkWOK4Qja2HbgHIyMkZB9eKbgrvTpp66X/UFUfLv1d/JXf/A/Mzrjw872tpeaVM97a3U/2ZCYvLkSbsjLkgE5yCCQfbpU02haZBeyafJrireQ5WQm3/cbgOVWTdknPGSqjrz0zq6ZrNv4TsLK2eSG7uv7RS8nS3dZFijVcBQ4ypY5J4JAxyc1LYWen2HiqbUDeaRd6JIJZN07wu+0glR5T/OGBwOFz+FN04dPn5aL9b/cR7Savf5eev8AXqcLXT2fhvS7jTdNupdYuYWv5mt1BsgypINucnzM7csOcZ9q5qRzJIzsFBYkkKoUfgBwPoK7SK9TSvBmlSiDSby5gupJxHNdB3iDbNp8tJATyOQQcY5AqKKi7uS2t+a/S5rWlJWUXv8A5Pv5me3hRIbHUWnurj7fY3ItGtobUOJJGLBdrbwSDt/u556GqF7pNrFdW9jp95NeX0jKjxeQqqrnHyhg53EE46Ae9dNoGt3NroWrapcTWFzdXN0kskFxcRB5kw4kwpO5ThuMDPPGRVP7NY+Htd07xBpt1bXOnK6XBtjdRG4hBIyhTdkkZ6j8cVp7OD5e2l/L+v6t1yVWack33t5vsZ02haZBeyafJrireQ5WQm3/AHG4DlVk3ZJzxkqo689M8zdf8ec//XNv5V6BYWen2HiqbUDeaRd6JIJZN07wu+0glR5T/OGBwOFz+FcDfOZLe5dgoLKxIVQo6HoBwPoKy5bOLaszRSbjJXvofV9h/wAg62/65L/IVYqvYf8AIOtv+uS/yFWK+hPlgooooAKKKKACiiigAooooAKq6jqFtpWnT315II7eBN7sf5D3PQD1NWq8V+LHik6hqS6DaPm3tWzOV/jl9P8AgP8AMn0rGvVVKHMc+JrqjTcuvQwbmfVfiT4yCxqV8w4jQnK28I7n+vqT7gV7roOhWXh3SYtPskwicu5HzSN3Zvc/4DtWH8PvCa+GtDWSeMf2jdAPOT1Qdk/Dv759q6+ssNRcVzz+JmWDw7gvaT+JhRRRXWdoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV4/8TvAy23meINLiAiJzdwqPuk/xgenr+frj2CmyRpNE8UqK8bqVZWGQwPUEelZVqUaseVmtCtKjNTiec/C/xmdUthoeoSA3kCf6O7HmWMdvcr+o+hNekV89eLNEuvA3i2OaxZo4S/n2cvoAeVPrjofUEZ617h4c1uDxFoVtqUGB5q4kQHOxx95fz/TB71lhqsnenP4kdGLpRVq1P4ZfgzVooorqOIKKKKACvEPGnwmuLbTPEWtrr8Ri23N79nNgd2CWfbv833xnb+Fex3WopCxhhRri6wdsMYJw20sA7AYQHHBbAo+yNd2dzb6msFxDcblMPlfKIyMFGyTu75PGc9BUyhGfxIuFSUHeLsfLFFfR/wDwr/wh/wBC5pv/AH4Wj/hX/hD/AKFzTf8Avwteb/Z3978D1v7WX8n4/wDAPnCivo//AIV/4Q/6FzTf+/C0f8K/8If9C5pv/fhaP7O/vfgH9rL+T8f+AfOFFfR//Cv/AAh/0Lmm/wDfhaP+Ff8AhD/oXNN/78LR/Z3978A/tZfyfj/wDwSPX7yKJY1h00qoCgtplux49SUyT7ms6aVp5nlcIGcliEQIv4KAAB7AV9Gf8K/8If8AQuab/wB+Fo/4V/4Q/wChc03/AL8LVPASe8/6+8lZpFbQ/H/gHzhRX0f/AMK/8If9C5pv/fhaP+Ff+EP+hc03/vwtT/Z3978Cv7WX8n4/8A+cKhuv+POf/rm38q+lf+Ff+EP+hc03/vwtH/CvvCHfw3pp/wC3daay+zvzfgKWapprk/H/AIBuWH/IOtv+uS/yFWKRVCqFUAKBgADpS16Z44UUUUAFFFVL7VdO0zy/t9/a2nmZ2efMse7GM4yecZH50m0tWJtJXZborI/4Srw7/wBB7S//AAMj/wAam/t/Rvsf2z+17D7L5nled9pTZvxnbuzjOOcUuePcn2kO5o0Vkf8ACVeHf+g9pf8A4GR/41qRSxzwpNDIskUihkdGyrA8ggjqKaknsxqUXszJ8Va6nhzw7d6i2DIi7YVP8Uh4UfnyfYGvIfhhoLa94ofU7wGSCyPnOW53yk/Ln8ct+A9a1fjJrJkvrLRY2+SFftEoB/iOQoPuBk/8Cruvh7ov9ieDrON1xPcD7RL9W6D8F2j8K4ZfvsRbpE86X7/F8vSH5/1+R1FFFFd56YUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHMePfDg8R+GJ4o4915b/AL63IHJYdV/EZH1x6V518JPEQsNXn0i5l2212pkj3HhZFGT7DKg/98ivSfF9hrdzp32jQNQlt76AEiIY2zD0weM+h/yPnO4MrXMpnBWYuTICu0hs88due1ebiqnsqsZpf8E9fBUvbUJU29PxTPp3StdsNamu00+Xz0tXEbyr9wsRnCnvj16c1pV5f4Q1az8FfCS51++4jMkkwTODI2QiqPclf1zW9pvjtfFOlwyeFLM3lzNFueSfKW9o2Adsr9Swz91AT67Qc13UpOUFJ9Tza8IwqOMdkdbcXVvZxebdTxQR7gu+VwoyTgDJ7kkAfWqayXl+VaNDaWuQdz5Er4LBlKEfICApDZJ56DrXK2upaJYeIpzqlzq+qeILZSHZdIunS3Rj0iRIyqoSuA3JbByxrd/4TLRvtdrah75prqA3EKrptw25B1PEfBGRkHkEgEZIrQyNe1tILOIRwoQAACzMXdsAAFmYkscAckk1PWXofiDTvEVq91pjzyQo5jLy2ssILAkEDzFXOCCDjoRiqUvjTR4dRubArqj3VsQJkh0i7k25zg5WMgg4OCODjigDoaKhtLuG/soLu2ffBPGskbbSMqRkHB5H41nan4l0zR9Qs7C8a6FxeHbbrFZTShzySNyIRkAEkE8AZ6UdbB0ua9FU9S1Sz0i0+1X0xjj3BFCozs7E4CqqgszHsACazpPGGiR6fNfGe5eG3IW4WOymeSA7S37yNULpwMncBjjPUUXA3aKyLjxNpVvodvrRnlm0+4CtHNbW0s+QwyDtRSQPcjrx1rUhlWeCOZA4WRQwDoUYA+qsAQfYjNFguPooooAKKKKACiiigAooooAKKKKACud8daneaN4Nv7+wm8m6i8vY+0NjMig8EEdCa6Kqmp6ZZ6zp0thfw+day43puK5wQRyCD1AqZpuLS3IqKUoNR3sebeK72/fRvG2l3d/LdwWP2DyGlSNWG9lZs7FUHnHbtXQ/EWTybPQJfOig2a1bt5swyiYD/M3I4HU8j6iovFXhDdo15YeG9HtY31WSFLqRZvKWIIwKtsxjHBztwec4atbXtMvNZ1zRYBDt02yuPt08+4AmRMiNFGSepJbIAx0OeK5eSXvJ+X5v8kzjdOfvJ9bd+7f4Jo4GfVc3/jhv+Eg0ZvtFpGu4R8XWIGG2L97wR0P3+SOO1ek+Ff8AkUNF/wCvCD/0WtYOr6DrEUni26sbaC8OswwwRQify3QCJo2Y7htyCwOMjIzyDgHbQTeHvBCrIUabTtNAYrypaOPnGe2RVUouEm35/myqEZQm3Lz/ADZ4pdf8Vf8AFJk/1kNzfbMr3hQ4z/3wua+ha8I+EVmtz40ads/6NbPIp9yQv8mNe71GCV4ub6szy5XhKo92wooortPRCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8n+LXhe3WKLXrSPZO8giuFUcPkEhvrxg+uRXrFYHja1N34O1KNRkrGJfpsIY/oDTVGnXkqdTZsqNedD95DdHmdh4Hf4j+CtM0+51qWysdMlcNbwwhjK7fMHJJ7BsAY9fXjvfAfgG18A2NzaWWp311DcOJDHcFdqNjBKgAEE8Z57Cue+E1yBcanak/M6JIo+hIP8A6EK9Prqx2HWHxEqUdlb8jGjVdWHO92eeX9vrVx8RvEKaNeW1vL/Y9sGE1uzs/wA02AjCRQh9yG7ccVt6h/yUvQv+wbef+hwVrw+H9Ft9UbVIdH0+LUHJLXaWyCViepLgZ5780l34d0S/vhfXmjafc3YXYJ5rVHk24IxuIzjBP51yLS3lf8b/AOZp1f8AXYxPA93b2vgqKaeZEj+2XKbif4muXUD6kkDHqazLy31248aeKV0O+tLaQ2FsCJrZpGZisu3Y4kUIfchu3HHPS23g7wvZXMdza+G9HguImDRyxWMSshHcELkGi48GeFru4kuLnw1o808rF5JZLGJmdjySSVySfWgDUs7qC9tY7i2lWWFx8sinIbBxkHuOOveue8REDxf4RyQM3VwB7/6O9aF1YaxD5MGh3uk2FjFGESCXTXl24/ulJkAXGABjtUH/AAjFtqg8zxRY6HrF0nyxTf2WF2J/dxI8h65PBHXpQFtLFTxeum6rawWLaw2nX0V/GtreRbSbe62Fowwbg5U42n7wcDuKzbXVtVl03xVpGvRWTahp1nl72z4juI3RyhZTyjgKcrkjnI4IrrLfQdHtLBrC20mxhs2LFreO3RYzuG1sqBjkEg+oqMeGtBXS20saJpo09n8w2gtE8ot/e2Yxngc4o2uO+qZwmuW03glpra2iZ/DesTpsRASLC6ZwcAdopD+CsewNen1XjsLOGxSxitII7RFCpAsYEagdAF6AVYoJCiiigYUUUUAFFFFABRRRQAUUUUAFc7461O80bwbf39hN5N1F5ex9obGZFB4II6E10Vcl8Tf+Seap/wBsv/RqVnWbVOTXZmVdtUpNdn+RD4wOreH/AAre6paeIb954Nm1ZYrcqdzqpziIHoT3rpbyXVUmAsbKzni28tPdtEwPpgRtx05z+FefeOv+EN/4Q2//ALJ/sH7d+78v7L5Pmf6xc4289M9O2a6Xxbqcazw6QujQatcSW1xdrFKnmiExodjGPBJDMdgORySBWKnaUte3W/cwVS0pa9F1v1ZR0fUfEUnjLxLB9ntZfK+y/uJNQk8uHMZPyHyjnPU8Lz69au+L7m+j8AazJeQQW8xiKBYJ2lBVsDqUXnk8Y/GuT+3+HbWxOr3EXhqa3m06FzYxWsDzwXRwCFj+UlOckM27g4Ira8QTXN78LtWgutP+wT2Y+ztGkZWJ/LZfmiyAfLIHHHtzjJhT9ySv0ZnGo3Tkr9G/z8jnvgpCjXGtTkfOiQoD7EuT/wCgivXq8n+CePL1s55zBx/38r1itMH/AAV/XU0wH+7x+f5hRRRXSdgV5H8SPiV4h8G+I7yysk02W3j0yO/iEtlM7ZacQlHdZAFHVgxAHRepBPrlfPnxxtbmbxDq9+unak1nBoUFs12qPHAsv2xHwzEhZBtYcDdhiDjKkqAdX4m8UeIrTxD/AGRZa/8AZ2voo4o2k0O6MkU8TgzvbRiBxNGUBO1nbBbIcAc6njrx1LpL+HU01tSgNxrFpHdbtJmxJbupZkUvHguRt+VfnBBGMgiuI8XX+q2XjzTL2fV9Snt/DKRnWL4PbZ09rwBMRj7MvmALg52NkHGEOTVj4s+Fdfu9Z8LzT+IJFt11O306xuNqm4EszMzzt5aRhSuyNVVc5CZypJyAa8HxK8Q3NxFdImmjT5PFo0BYJLKZJxETnzCWkG19vG0oMHr6V2HjvxFqXh630NdLFp5+p6xb6cz3UTSLGsgb5gqspJBA7+teSabDcJoely3F19t8/wCJSSJfrGES8H3TMmPl2syt90kdR2rq/GWu2Pjbwn4E1WzS7hs77xRaoFdvKlUBpUPKNlTlTghsjg8GgDoPEWueKvC9xoDXF7o17BqWsW+nSJHp0sLIshOWDGdhkBfTvXSX2s39peSQQ+GdVvY1xieCS1CPkA8B5lbjpyB09Oa4P4g6BZ6VceDJ7ebUndvFFihF1qVxcLjLnhZHYA8dcZ6+pq58SvGOk6I9zbXNpqtxfWGnrqCpaalLZRvG9wkBBeJwSwJzgqRjOCMmgA8F+NPEGpf8JD9s0HVdQ+za3c20PkmzT7PGu3bC2ZVyy5OSNwOfvGtjVfHr6J9i/tDwrrkP267jsrf57Rt8z52r8s5xnB5OB71yd1pMXg99aWfTLtBd6nGujtb6/e241SeZclH2yuVlBUjzH2q5xnaOa6jVdV8KeNvhXcanqdzJB4dvLffLK5MbxFX/AB+dZFAAG4MQANwPIBl2PjTxB4as44PF2g6rNJd6qbLTZ4zZl5lkJMKyhJQok4YEgBeBznmrnjzxXqFh4Y0+304yaR4i1q9isrCO68l2iYyAM7hS6lNvUruxvXgE8YfhCfUdW8aaZceOfPttXtbR20GGW2W3FxGwxLM212/0grt3Q5AQHIU5JWP4veG1uNU8M6oL+7N5PrtnZW4kkYRWiNvLFFjKNlmVWZt275QAygCgAPxUub3xvoUEEF3Bo8l7qNvIbe1e7XUIokAimiZYyWG/dkRk4x8xxivWIJlubeKdBIEkQOokjZGAIzyrAFT7EAjvXj+paDquhePvh1pVneaNCkCaglmIdMkWOICEFt6m4Jct67lOSSd2a9csUvI7ONb+eCe6Gd8kEJiRuTjClmI4x/EfXjpQBYooooAKo61H5uhahHjO+2kX81NXqgvSq2FyzDKiJifpg007O4pbM8m+FrhfFM6n+O0cD/vpD/SvS/8AhILTGrMsczx6WpM0iqCrkKWZUOeWGMEHGCRXkvgORYddmleK4lRLSTclsrGRs4GF285yRyMY65GM1uada/2jb6pb3MK2saStaRWn9mTXq2e1cExupwrknLHuQG719LmOGhUxMpz2SX9aa7f1sefh6jjTSXmejx6nbvoyaqxaO1a3FySy8qm3dyBnnHpmq0fiKwmiSWJL943UMrrp85DA9CDs5Fcp4RjtrppbKWwsGiglezc/2PIGnVACGkkJ2qxIBKsM5HqRVrSbHWrNbySS21e2ku7uS5aG1azZE3Hpuckk4A54+nc+ZPB0oSlGUtVtd20fqmdKqyaTS/U6OLX9PlvoLLdcR3Fxu8pJrSWLftGTgsoHAqW51WCz1G2tLhJIxc/LFOwHls//ADzznhiORkYPYk8VmaFPFcaxqCSretqFokccjXkduHVWywVWiHIPUgn096x/Gh1HVdRhsdGfM2lp/aE3ybhvH+rUYB+fG4hTgEEdazhhoSrqlsratvyunttsN1Gocx3NZS+I9OeWeOI3UzQStDIYbKaQK69RlUIzVzTr+DVNOt762bMM6B15GR6g4zyDwR6g1y/hiTUkl14WdpazR/2xcZaa5aM544wI246c5rKlQTjNz3j5pdfMuU7NW6nS6dqlpqsUslnIzrFKYZA0bIVcYyCGAORkU3UtVg0r7H56SN9ruUtU2AHDNnBOSOOKwPCNul5Z6/DfW8MivrE/mRMPMTPynHI5APfArK13TrX/AEfOm+HbL7JewvceXKW4OcJJth+RWz1bjpW8cJTdd07uy9P8118jN1ZcnMehUVh6RY2KX03/ABKtGtbu22/8ebK8ibgfvfIpXI6eoJrcriqQUJWX9fizaLurhRRRWZQUUUUAFFFFABRRRQAUUUUAFZ2r3WjRW4t9auLBIJ+kd66BZNpB6NwcHH6Vo1geJNFa+Vb21+0LfRL5SyQYMqxMfnEW91SNyOPM6gZHPFTO/LoRUbUXyq5XXxd4V1j7bYXl5YeXDIEdLuWIxzDgqyncVYcfUEcgGr194p0qy0htVW4W7sY5limntHWVYdxAy2D0G5cgZPI4rFudXl1ZLrRdP0/XrW/03ymMsc0JaJiuU3FpsSggcgk57881XutLt9I8aeDbeBFDM19JM67syyNECzksWYkn1YnGBnisPaTtdel/nb8Dm9pO116Xt52/DqdPLr9nDM8TQ6kWRipKabcMuR6EIQR7jis7XL218Q/D3U7vTZfPt5rSUxvtK7tuc8EA9VIrivCGpajNqPg9prjVD9s+2/aJJ7xpI7nYG24UucbfdV555611Pw5hW4+Gunwv92RJ0b6GVxShVdX3e6f6f5ip1pVvd6NP9P8AM4/4Kzhb7WLf+J44nH/ASw/9mr2GvCPhfM2l/EA2U3yvLHLbMD/eHzf+yV7vSwTvSt2Fl0r0LdmwooorrO4Kz9b0TTvEejz6Tq1v9osZ9vmRb2TdtYMOVII5APBrQooAy9O8OaRpel3Gm2tjH9kuXke5SYmU3DSffMjOSXLdCWJ4wOgqnP4K0G50PTtGltZ2sdNlSazUXkweF0yEKyB9/wAoYgc8cY6DHQUUAZcHhvRbbw/FoKaXaHSY0CLZyRB4yAd3IbO47vmycknk881Xv/B3hzUtLs9LutHtDp9ncC5gtETy4lkG7nYuAR8zZUgg5OQa3KKAObf4f+EGuLS4Tw5ptvPaXCXMElrAIGWRDlSSmCRn+E5B4yOK2G0nTWe9dtPtC9+gS8Ywrm4UKVAk4+cBSRg54OKuUUAYcHgzwra3EVxb+GdGhnicPHJHYRKyMDkEELkEHvUlx4W0a71yPWbuz+1X0PMDXMrypAflO6ONiUjbKKdygHjrya2KKAM/WdD0vxDpz2Gr2EF7atk7JkztJBG5T1VsE4YYIzwarz+F9Ju7PTrW6hnuY9Ou0vbUz3csjpMpJVi7MWbG48MSO2MAVsUUAZ93omnX2sadq1zb777TfN+yS72Hl+Yu1+AcHIGOQcdq0KKKACiiigArP16XyfDupS5wUtZSP++TWhXkvi7xNqNle63oEh823mcGNmPzRBtrkD1GDjFdmBwksTU5Y9NflfUxr1FTjdjPhWhPiS6fHyraMM+5dP8AA12tp4UkRrmaadYroapLf2ssPJUMANj5AJU/xKCM4HNcX8OdZ0nRf7QfUbtIJJfLEe5WPA3Z6D3H5V6zDKk8KSx5KOoZcqQcH2PNd+bVa1PFTaTSdle3ZGGFjGVNXMPQtAktdMvYNXW1upL67e6mjVN0QLEcAN1Hyg8j+WatSeG9GMTiLSNMWQqdrNZowB7EjjI9sitWivLliKrk5Xtc6lTilaxzml6NqWmW+oXqiwOq3ixqIY9yW0QjXYgHBbGOT+Qx1rS0nSY9MikZpWuLydt9zdSD5pW/oo6BRwB+JrRopVMROd79f02XogjBR2MXStLu9GvLi3t/Jk0qaVpo1Zyr25bJZFUDaUzgjlcZPWq2l6NrOmy6kYr2wjjur6W5VWt3lIDYxk71weOmD9a6OiqeJm77a76dg9nHTyOZsfDt9Fomt2NxdW4m1K5mk82ONmULIAD8pIwcZ4ycccmiPwl9jkuBaXFu9vcQwRSw31r54PlLtU8Mo6YPIPIz7V01FP65Wu7PfyXl/kheygYGn+G5LfUxqd5qU1zeLLKwZBsUxuB+6IJYlFIJUZwCa36KKyqVZ1HebKjFRVkFFFFZlBRRRQAUUUUAFFFFABRRRQAVUvo9Rk8v7BdWsGM7/Ptml3dMYw647+v4VbopNXE1dWOYs/D2s2Ws6lqker2Bn1DyvNVtPfavlrtG399noeck1LdaJqN34h8PalNcWsn9nfaftBRGj3+Ym1dqkt075b/CuioqPZRtb+t7mfsYJW+e/nf8zmv+EPsNNhin0SBYr6zV/sP2q4nlhiLfeGzfwGyckeucHGKueE9Fk8PeGLLS5plllgVt7oMLlmLEDPYbsZ74zgdK2aKapxi7pDjShGXNFW/r/gHgni5X8L/FJr5FIT7Ql4uB94E5b9dwr3iORJokljYNG6hlYdCD0Nea/GLRvtGk2mrxrl7V/KlI/uN0J+jcf8CrX+F+uLq3hKK2d83FgfIcHrs/gP0xx/wGuWj+7ryp99UcWH/dYidJ9dV/X9bHbUUUV2nohRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeNfE6EReLd4/5bW6OfzK/wDsteyMwVSzEBQMkntXgN1cTePPiHJBA7LBcz7FcDJSFB1H4An6murBZhDA11OavdNW/rzscOOklFQ6tnaeA/BC7IdZ1RA24B7aA9Mdnb+g/GvS6+bfE3/C07Lxxp/h291u9mtr2cJazWJW1SaMHkAoBtIXqCePccn20+NLKxAXWrDUtHxtBe7t90IycD97GXjH4sKWKxVTFVOep/wx1UqUaceVGF8R9OsJ9b8Jz3GhRarK1+0TQ+TEzyp5Mp2ZkIXAPzYJA49ao6x4f0K48M6VIfDFjYebrsKvafZoxs/f+WQQuVyVUBtpIPuK6y/0az8WT6Xq9nr9ysNnIZrZrB4HiZ8MhbLI2eCy9cfjzVvxF4eXxFBaxPqd9ZLbzpcKbTyss6EFSd6N0I6DGe+a5lpb1T/I0ev3W/Mm1yytJ/DV9ZzWsMlr9mYeS8YKYC8DaeOMDH0rlNP0XSJvg7pto2nWb2rWEExjMKlS5VSXxj7xJJz15rqdN0V7Ge4nutVvtTlmRY914IgEUZOFWNEXnccnBJwOeBVCy8GwWKQ2qarqb6XbuHh013j8mPDblXcEEhVTjClyOADkcULr52/C/wDmD6W6X/GxyviOwi0XX7vUb/QDqmg+RHFHcaef9J0YKoBCIpDKhBD7oyCBnORii7XTY/iToGqaZon9seZokksUtskHmMA0QSXdIyDhTjOc/N0xmuwv/DC3dzdz2+r6pYG8I+0rbSIVkAUIBh0bZwOqbWOeScLiODwfa2mvWOqWt/ewJY2n2KCzTyvJWH5fl5Qv1VTndnjrjiiOjTf9aP8AV/mEttP61X+Ri+BLKzTxR4tu49DXS7hruJTG8cQkUGFGIJjZlwW+bAY8nJ5q/wDEyztr34eawt1bxTBIS6eYgbaw6MM9DyeRU0Okz+Gr/UNVtjrWtzalKGmtla1UIQoUMN3l8BVC43H6E5NN1GC58Y6bcaLfaXrui2s6fvLjzLM7h/c+V5CM+oUdOoo3SXoPZ3OhsrS2sbKG1s4Ire3iXbHFEgVUHoAOBXmeiR22gavZWfiPSnhvLi7za+IrR90WpMxygnYHO47gAr5XIJXGBXd6foM1nfLd3WuanqLJG0caXQhVE3EZOIo0yflAyc4BOOpqnD4MtYjZwtqepTafZyJLDYTSI0SunKsW2+YcN8wUvtBxgAAAH2k3/X9f8OT9mxzE+nN4L13VPEWhWappUc6RapptrCFUw+UjCaNVx86FmJH8Sk9xXR+CLPRobO/utFtLKG3ubt2WS1iVBInBX7o5GDx9a1NM0V9OvL64k1W9vReSeY0VysWxDgL8uyNTjaAOSenrkl+h6Dp/h2xex0yHybVpnmEQPCFzkhfQZ6DtRHT7v1X9f1o5a/f+jNKiiigAooooAKKKKACiiigAooooAKKKKACiiigCrqNhBqmm3NjcruhuIzG34jr9RXhXhbUZvAfjuS01AlId5trn02k/K/06H6E17/XmnxY8KG+sV12zjzcWy7bhVHLx/wB76r/I+1cmKpuyqR3icONpSsqsN4npQIIBByD0Ipa85+Fvi9dT05dEvJP9MtU/csx/1sY7fVen0x716NW9KoqkVJHTRqxqwU4hRRRWhqFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFVNT1K10jTZ7+8kEcEK7mPr6Ae5PApNpK7E2krs5H4oeJV0bw61hC/8Apl+pjAB5WP8AiP49Px9qyfhB4eNtYXGuXCYkuf3VvkchAfmP4n/0GuMt47/4l+Oi8gZIWOXxyIIF7fXt7k5r323t4bS2itreMRwxIERF6KAMAVxUv31V1XstjzqF8RWdZ/CtEOeKORkZ41Zo23ISMlTgjI9DgkfiafRRXcekUJdF06Ri4tVikK7PNgJifbv343Jg43c4zzk+ppGtL+EMbXUN5IYhbqMMASwI5XacAZAH09OdCigDOlv7u18xrjTZXjUSMHtXEvygjb8vDbmBJwAQMHnpVpry1Rtr3ESsOqs4BH4VPXzTq1pbTeJteeW3idzql18zICf9a1duBwbxdR007aXMa1ZUo8zR9Hfb7P8A5+4P+/go+32f/P3B/wB/BXzR/Z9l/wA+lv8A9+h/hR/Z9l/z6W//AH6H+Fer/q9U/nX3HN9fj2Ppf7fZ/wDP3B/38FH2+z/5+4P+/gr5o/s+y/59Lf8A79D/AAo/s+y/59Lf/v0P8KP9Xqn86+4Pr8ex9L/b7P8A5+4P+/go+32f/P3B/wB/BXzR/Z9l/wA+lv8A9+h/hR/Z9l/z6W//AH6H+FH+r1T+dfcH1+PY+l/t9n/z9wf9/BR9vs/+fuD/AL+CsfT/AAr4dbTbVm0DSyxhQkmzjyeB7VY/4RPw3/0L+lf+AUf+FfPNWdjvTujQ+32f/P3B/wB/BR9vs/8An7g/7+Cs/wD4RPw3/wBC/pX/AIBR/wCFH/CJ+G/+hf0r/wAAo/8ACkBofb7P/n7g/wC/gqZJElQPG6up6MpyKyf+ET8N/wDQv6V/4BR/4VS8H28FoNct7aGOGCPVJQkcahVUbE6AcCgDpaKKKACiiigAooooAKKKKACiiigApGUMpVgCpGCCOtLRQB4T428MXfgvX4tY0gvHZNLvhdP+WD/3D7enqOK9Q8GeMLbxXpm/5Yr6EAXEGen+0v8Asn9On13r6xttTsZrK8hWW3mXa6N3H+PvXhPiDw3rHw81uPUdPmkNrv8A3Fyo6f7Djpn9D+g4Jxlhp88fhe67HmTjLCT9pBXg912PfqK5Hwb48sfFNusMhW31NR88BPD/AO0nqPbqP1rrq7YTjNc0T0KdSNSPNF3QUUUVRYUUUUAFFFFABRRRQAUUUUAFFFV72+tdNs5Lu9nSC3jGWdzgD/PpQ3bVibSV2SzTR28LzTSLHFGpZ3Y4CgdSTXhPjPxXd+N9Zh0rSY5Hs1k2wRqPmmfpuPoPTPQZJp/i/wAa3/jPUE0jR4pRYs+1IlHz3Dere3cD8T7eheA/AsXhe2+1XeyXVJVwzDkRL/dX+prgnOWJlyQ+HqzzKlSWLl7On8PVmj4M8Kw+FdFW3G17yXD3Mo/ib0HsOg/E966Oiiu2MVGPKj0oQjCKjHZBRRRVFBRRRQAV836l/wAjHrv/AGFLr/0a1fSFfN+pf8jHrv8A2FLr/wBGtXuZB/vL9P1RxY7+GvU4qS0haW4toLNIJ3vCsN3tVRGQAcAj5s8HAxg5rZ1C1gm1fTWlhjdtz8soJ4UkfrzUi6RH5NzFJcTyrcNvO4qCrf3lIAweB+VLJpbSvbudQuw8GdrAR5OeMn5PTivdp4eUIWcf5e3R/wBa/J7HFKom9+4zWJXH2O3V2jS4uBHIynB24JwD2zjFQX9tDpjWlxYwpAzXCROsShRIrHBBA6+oNXv7Oje3khnkln3sHLuQGBGMEbQMYx2oj09RMks9xNcvHzH5u3CH1AUAZ9zmtpUpyk3bVtNPta2n/DdyVJJW/pmfYxQ6jFdXt1B9onEzoiHGYwpwAuT8p75yOTV/Spo59NieFJlixhfOILEe+CaRtMQXEs9vcT2zSnMgiKlWPrhgQD9MUJnToY7W3sbmaNF4ZGT/ANmYHP4UUYSpWclsrN73ffTX1uEmpbHrXjWy0d5/BF1qmlxXiG5EUg+wm5d4/s8hC7FVmYbsHAB6Z7Vz+paKE8BarJc6M50xddhk0ezvIQJYoWmjVlRJMeWrHdhTt4PIANdzDos3ieHR9QuZNa0WTTSr28ObRg7bCu/gScFWIwSPpnmtnxJ4dTxNYR2c2o3tnEkqSn7L5WXZWDLnejdGAPGPfIr4Kekn6/qn+h7a1t6f5/5nP+D7XQvEE512bTLRNYsyLX7K9sqvpgQnbEBjIIB+8OueMDiqfh2zsfFUWu67rGnDVL6HULi3gt3Cs1qkR2okW4gRucBiwK5JBzwMb114Mjn1+HXINb1Sz1BLZbaWS2EAFyoPWQNEQx/AAdgKlm8IQrqt1qWl6rqOkz3hDXQszEyTsAAHKSo6hsDqoGe+aj/g/f3+f369R/1/wP67DvBN9a6h4VtZ7G3v4bTLrEL90eVgGOSSrNnnIyTk459SeF/9fr//AGFZP/QI60tG0m10LSLbTLPf5Fuu1S7ZZiSSST6kknjA54xWb4X/ANfr/wD2FZP/AECOqe4lsdBRRRSGFFFFABRRRQAUUUUAFFFFABRRRQAVDd2lvf2klrdwpNBKu143GQRU1FG4NX0Z4p4t+Gl7ocx1Pw+ZprZG3+WhPmwH1GOWA9eo/Wr3hX4tNGI7PxEpZR8ovI15H++o6/UflXrtcf4o+HWkeIy9wi/Yr88+fEvDn/aXv9eD71xSw8qb56L+R508LOlLnw7t5dDqbO9tdQtlubO4iuIW6PGwYfpU9eAXnhrxf4Eumu7N5vJHW4tCWQj/AG1/+KGK3tG+MtxHtj1qwWZe81sdrfip4P5inHGJPlqLlZUMfFPlrLlZ7DRXMad8QvC+pYWPVI4XP8FyDHj8Tx+tdHDPDcJvgljlT+8jBh+ldUZxl8LudkKkJ/C7klFFFUWFFFZd94j0XTFJvNUtIcfwmUFj+A5NJtLViclFXbNSivPNW+L+iWildNgnv5Oxx5Sfmef0rhr7xl4v8ZTGysUlSN+DBYoRx/tN1x9SBXNPF046R1fkcdTH0o6R95+R6f4n+IWjeHFaISC8vhwLeFh8p/2m6L/P2ryqW48T/EzV1iVSYUOQi5WCAepPr+ZPauk8O/B+VmS48QXARev2WBsk+zP2/DP1r1WxsLTTLRLSxt47eBPupGuB/wDXPvWfs6tf+JpHsZeyr4l3q+7HsYPhHwRp3hSDfH/pF864kuXHP0Ufwj+feunoorshCMFyxWh3whGnHlirIKKKKosKKKKACiiigArw648Fa/qOr6te6dBa3drNqNyySpcqOfNbKkHkEHIPuK9b8T61H4c8L6lrEuMWlu8ig/xNj5V/E4H415L+zt4mkv7HWdFu5jJPHN9tjLHlg/D/AJMAf+B10YfFVcNLnpOzIqU41FaQz/hXviz/AKBkP/gUlH/CvfFn/QMh/wDApK9zort/trGfzfgjH6pR7Hhn/CvfFn/QMh/8Cko/4V74s/6BkP8A4FJXudFH9tYz+b8EH1Sj2PDP+Fe+LP8AoGQ/+BSUf8K98Wf9AyH/AMCkr3OsHxrry+GPBmrawWAe3t2MWe8h+VB/30RR/bWM/m/BB9Uo9ijpWu61PpkDWvh5J4kBi8xNQjwShKt29VNXP7X8Rf8AQr/+VCP/AArzf9nXxEb7w1qGiTyFprGfzo9x5McmSfyYMf8AgVe0V5bd3c6Tn/7X8Rf9Cv8A+VCP/Cj+1/EX/Qr/APlQj/wroKKQHP8A9r+Iv+hX/wDKhH/hUnhmzvraHUJr+3W3mvL17gQrIH2KVUAEjjPy1uUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVz2s+CPD2uFnu9OjWZuTND+7fPqSOv45roaKmUYyVpK5MoRmrSVzyrUfgvA2W0zVpE9EuYw3/jy4/lXPTfCnxXYv5lo9tMw6GC4KH/x4CvdqK5pYKk9lY45ZfQlqlb0PBv8AhH/iTahtp1ZcdfLvs5/J+aaNK+JUvyb9cORyGvGA/Vq97oqfqUf5mT/Z0f53954J/wAIJ471T5buOcp0zc3gI/LcT+ladj8GNUkYG/1O0gXuIVaQ/rtFe0UU1gaXW7Gsuo3vK7+Zwul/Cfw5YMr3InvpBz++fCZ/3Vx+pNdna2dtYwLBaW8UEK9EiQKB+AqeiumFKEPhVjrp0adP4FYKKKKs0CiiigAooooAKKKKACiiigDI8TeG7DxZokmkan5xtJWVnWKTYW2nIBPpkA/hXF/DT4d6DoMs2t2C3SXi3d9Z/NMSpiS5kjUEd+I1/EZr0us3Q9MfSbCW2eRZC95dXOQMYEs8koH4B8fhQBpUUUUAFFFFABWJ4p8Lad4w0f8AsvVfPNr5iylYZNhYjOAT6c5/AVt0UAeb/C/wBonh+2XXNPFyl5Os1vJumJRkEpA49fkFekVm6Fpj6RpEdk8iyMjyNuUYB3Ozf+zVpUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcL8VbKzufDFrNc6dFeyRajaCNGjRmIadAyqWwBuHByQD34ruqxfEnhxPEtpBbS6le2ccUyT/AOiiLLOjBkJ3o3RgDxj3zR1XqvzDo/RnD6/oeiS+APFEy+EbTSJIwIxAbeFW+VVZWPllk3ZdsEHIB7c16Rb6fZQaYunw2dvHZCPyxbpGBHtI5Xb0x7VR13QF8QeH5NHuNRvYYpUCTTQeWJJBjnOUKjPXgD2xSafoU1nfrd3WuanqLRxtHGl0IVRNxGTiKNMn5QMnOATjqafkLszmvBOjaSPhxd26adZ+RPNd+dGIV2ybZpANwxg4AAGemAO1Z2q6L/Zw0a9t/DcGt6LaacqS6XbqvnWjE7/tEMZwGY4I4w2QMHrXVnwbbrJdR2+q6lbaddytLPp0LxiFy/L4YoZFDHJIVxyTjGauX/h9bq9+22upX+nXXkrB5loyEGNSxClJFZDy3XbkY4IBOZ8/T8L/AOY/L1/Fr/I4DVhoV9ceAtT0vTH1qE3UyxB1R7hwsUh2s0zLyrgn5mzlc8mtfQ7a2ufivqWoS+HW0y8/suF83CQGVmMkilw0TuOQApOcnbzxitc+BrRJdHe21PUbZdKkeWJIzEwkkfd5juXjYktvbOCBzwAamuNFk07xBdeJobjVtQuZIVgOnxG2CGMEkBd4QjBZmyXz9eBVXtK/r+QPVW9Pzv8AkaXiC1t7zw9qEF1BFPC1u+6OVAynAJGQeOoBrO8B2VrYeBNDjtLaKBHsoZGWNAu52QEscdST1PeklvdQ1qGTTZdB1zSo7hSjXnmWTeUMc8CWTr0+6ev40mk+ETpS6fEfEGr3dpp6hYLW4MAQYQou4pErNgHux5APUUo6X87fhcH08r/ocfqEdvoWvaheeJdKe40+7vC8HiSyctJbKTgQzYO9I1K7eMocgEZJrR1zQp9O8V3PiPwvaxJqNtbRy3NpDGqjUY3eQyK2Osh2gqx7jHOa37rwZbXa3Fu2p6mun3UrS3VgJUMU5ZtzAllLqp6FUZR7ZJJv2+jPBr0+qf2rfSCaNYvsjiLyUVclcYjD8Fm6sevOcDAtEvL+v679Rvd+f9f126GF4OOg6nq2q69o9nar9rETGdIFSQkjLhiBnO4fMD3FTXPiHVU8QW0a+FtbMfkTfIs1piTDR4YDz+3vg/N061s6XoGn6Neajc2EPktqEwuJ1X7pkxgsB2Jxk+/NXmt4muY7krmaNGRWyeAxBI/8dH5UdRHJ65bRyeOPB2oPHPHcM88ZjeUkIDA7EbQxTdnqw5OOpGK7GsTVPDg1TW9N1Q6rf27aexaKCDyvLYkEMW3Rsxypx1GB0wea26A6jJXMcLuFLFVJCjqfauB8EaHp3ifwraeItbto77V9QDTtdyL+9t8sdqRP96IL0G0jByepr0Gubi8HRWc850vWNU020nkMkllbPF5O4nLFd8bNHuyc7GX1GDzSDoYdn4b0vTviPosTW8Fxc2uhuq3MsamV2R4kDk9SwXjPbJ9aqeOvD+inSPGF8dHsXu/ssb+b9nTeW5OckdfeuvvvC9pdNYy2lxc6bdWKskFzaFN6o2NyESKysDgE7geQD1qC+8HQah4fvNJm1XUgb5t13dho/Om4xg5QqowAMKq4xx3y+lvX8XcPtX9PwRz3g3ToD431K+0vS00GztrVbO60vCI8kxIdZWSMmPG0kKwJJy3pXolYL+F0bUrHUk1XUIr+2iEEtxGYgbuMHO2Vdm085wVCkbjgjNXtT1G6sDH9m0W+1Lfnd9leBdmPXzZE6+2elO+i/r+v6QkjnfiLplhqWn6OL6yt7kDVrVB50QbCtKoYc9iOCO461q+KtNub7wleadpk8NnPJGscBdikfUYjJXkK33OOcNxVK/0+58YxRQ3lvrugLaTx3EbB7M+a6nK9DL90jOOAc96tDwqk0NzHqOr6pqJuBEC80iRNGI33gJ5KJtJPUj5uBzwKVvda8/0Q7+8n/W7Od8MJ4f1C7u9EvvC39jagLYG40a4jV7SRNwPmRAfu3G7GWAByBkcCsazjTwz4ej0PV40u/DOr2gexaeMOttcldxgbPG1m+ZDjg8eld5B4XMVzNeS61qVzqDwG3hu5hBvt0JBIRVjCZJAyWVjwKcfCljceE28N6lNPqVk0XklrrZv2j7vKKoyuBg4zxnOaUleLX9df69fIcdH/AF/X/ALmg2ltY6BYW9pbxW8CwIVjiQIoyMnAHHJJNaNR28K21tFAhJWNAgJ64AxUlXN3k2RFWikFFFFSUFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/Z" alt="联机日志文件与 Redo 日志包"></p>
<h3 id="备份集">备份集 </h3>
<p>备份集用来存放备份过程中产生的备份数据及备份信息。<strong>一个备份集对应了一次完整的备份</strong></p>
<p>一般情况下，<strong>一个备份集就是一个目录</strong>，备份集包含一个或多个备份片文件，以及一个备份元数据文件（并行备份和非并行备份情况下，备份集里的内容略有不同）</p>
<ul>
<li><strong>备份片</strong>：存储备份数据的文件，后缀<code>.bak</code>。备份集中存放数据页的备份片称为数据备份片，存放 REDO 日志的备份片称为日志备份片，备份片大小由<code>MAXPIECESIZE</code>指定</li>
<li><strong>元数据</strong>：存放备份信息，后缀<code>.meta</code>，通过元数据文件，可以了解整个备份集信息</li>
</ul>
<blockquote>
<p>元数据备份信息包括</p>
<ul>
<li>备份集本身相关的信息，如是否联机备份，备份的范围，备份的加密信息，以及备份的压缩信息等</li>
<li>备份源库的建库参数信息，如 DSC 的节点数，是否大小写敏感，PAGE_CHECK 属性等</li>
<li>数据文件信息，如备份了哪些数据文件，文件大小，以及文件相关的表空间信息等</li>
<li>备份片的信息，如包含哪些备份片文件、备份片大小等信息</li>
<li><code>备份库的 dm.ini 参数信息</code>和密钥文件（dm_service.prikey 或者 dm_external.config，若指定 usbkey 加密，则不备份）</li>
</ul>
</blockquote>
<h3 id="备份">备份 </h3>
<p>备份就是从源库（备份库）中读取有效数据页、归档日志等相关信息，经过加密、压缩等处理后写入备份片，并将相关备份信息写入备份元数据文件的过程</p>
<h4 id="逻辑与物理备份">逻辑与物理备份 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>方式</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>逻辑备份</td>
<td>利用 dexp 导出工具，将指定对象（库级、模式级、表级）的数据导出到文件的备份方式</td>
<td>逻辑备份针对的是数据内容，并不关心这些数据物理存储在什么位置</td>
</tr>
<tr>
<td>物理备份</td>
<td>直接扫描数据库文件，找出那些已经分配、使用的数据页，拷贝并保存到备份集中</td>
<td>物理备份不关心数据页具体内容，只是简单根据数据库文件系统的描述来挑选有效数据页</td>
</tr>
</tbody>
</table>
<h4 id="联机与脱机备份">联机与脱机备份 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>含义</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>联机备份</td>
<td>数据库处于运行状态、并正常提供数据库服务情况下进行的备份操作</td>
<td>使用客户端工具连接到数据库实例后，通过执行 SQL 语句进行；也可以通过配置作业，定时完成自动备份<br><br>联机备份时，可能存在一些处于活动状态的事务正在执行，<strong>为确保备份数据的一致性，需要将备份期间产生的 REDO 日志一起备份</strong>。因此，只能在配置并开启本地归档的数据库上执行联机备份</td>
</tr>
<tr>
<td>脱机备份</td>
<td>数据库处于关闭状态时进行的备份操作</td>
<td>V2.0开始，使用<code>DMRMAN</code>工具进行脱机备份，并且支持对异常关闭的数据库进行脱机库备份。备份异常关闭的数据库，要求配置了本地归档，如果本地归档不完整，则需要先修复本地归档，再进行备份</td>
</tr>
</tbody>
</table>
<h4 id="数据与归档日志备份">数据与归档日志备份 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>说明</th>
<th>补充说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>数据备份</td>
<td>主要针对数据文件内容，包括<code>库备份</code>、<code>表空间备份</code>和<code>表备份</code>。未指定<code>WITHOUT LOG</code>参数执行的<code>库备份</code>和<code>表空间备份</code>还包含了 REDO 日志备份</td>
<td>(1) <code>库备份</code>：对整个数据库执行的备份，又称为库级备份。库备份会拷贝数据库中所有数据文件的有效数据页<br><br>(2) <code>表备份</code>：拷贝指定表的所有数据页到备份集中，并会记录各个数据页之间的逻辑关系用以恢复。表备份只能在联机状态下执行，一次表备份操作只能备份一张用户表，并且不支持增量表备份<br><br>(3) <code>表空间备份</code>：针对特定表空间执行的备份，又称为表空间级备份。表空间备份只能在联机状态下执行</td>
</tr>
<tr>
<td>归档日志备份</td>
<td>针对归档日志文件进行操作，不涉及任何数据文件内容</td>
<td>归档日志备份扫描归档目录收集归档日志文件，并将归档日志写入到备份集中。归档日志备份支持联机和脱机</td>
</tr>
</tbody>
</table>
<p>联机备份过程中，用户可以正常访问、修改数据库，为了准确记录备份过程中产生了哪些 REDO 日志，确定日志备份范围，特别定义了下述几个包序号和 LSN：</p>
<ul>
<li>节点 BEGIN_LSN</li>
</ul>
<p>为了保证备份的完整性和有效性，必须包含的归档日志起始 LSN 值</p>
<p>BEGIN_LSN = 备份开始时检查点偏移前一个 RLOG_PKG 的 max_lsn</p>
<ul>
<li>节点 BEGIN_SEQ</li>
</ul>
<p>BEGIN_SEQ 记录了 BEGIN_LSN 所在 Redo 日志包的序号</p>
<ul>
<li>节点 END_LSN</li>
</ul>
<p>为了保证备份的完整性和有效性，必须包含归档日志结束 LSN 值</p>
<p>END_LSN = 备份结束时 FILE_LSN</p>
<ul>
<li>节点 END_SEQ</li>
</ul>
<p>BEGIN_SEQ 记录了 END_LSN 所在 Redo 日志包的序号</p>
<ul>
<li>BAK_END_LSN</li>
</ul>
<p>备份结束时，可以保证事务一致性的全局备份结束 LSN</p>
<ol>
<li>单节点 BAK_END_LSN 等于 END_LSN</li>
<li>DSC 集群环境中，每个节点的 END_LSN 都不相同，BAK_END_LSN 大于等于最大的 END_LSN</li>
</ol>
<p>如果 BEGIN_SEQ 等于 END_SEQ，则表明备份过程中，该节点没有任何数据被修改。为了简化还原过程，增量备份时要求 BEGIN_LSN 必须大于等于基准备份的 END_LSN，如果不满足条件，则强制生成检查点，直到 BEGIN_LSN 满足条件为止</p>
<h4 id="一致与非一致备份">一致与非一致备份 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>定义</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>一致性备份</td>
<td>不指定WITHOUT LOG生成的备份集</td>
<td>一致性备份的备份集包含了完整的数据文件内容和 REDO 日志信息；利用一个一致性备份集就可以将数据库恢复到备份时状态</td>
</tr>
<tr>
<td>非一致性备份</td>
<td>指定 WITHOUT LOG 生成的备份集</td>
<td>(1) 非一致性备份的备份集只包含数据文件相关内容，没有 REDO 日志信息，<strong>利用非一致性备份集还原的数据库，无法直接启动，必须借助归档日志进行恢复之后才可以启动</strong><br>(2) 有一种情况除外：数据库正常关闭时，会生成完全检查点，脱机备份生成的备份集中，不包含任何 REDO 日志。因此脱机备份一个正常关闭的数据库，既可以从归档日志恢复也可以从备份集恢复</td>
</tr>
</tbody>
</table>
<blockquote>
<p>表空间备份生成的备份集是非一致性备份集</p>
</blockquote>
<h4 id="完全与增量备份">完全与增量备份 </h4>
<p><strong>完全备份</strong>生成的备份集包含了指定库（或者表空间）的全部有效数据页。当数据规模比较大的情况下，生成的完全备份集通常会比较大，而且备份时间也会比较长</p>
<blockquote>
<p>库备份和表空间备份支持增量备份，表备份和归档备份不支持增量备份</p>
</blockquote>
<p><strong>增量备份</strong>是在某个特定备份集基础上，收集数据库新修改的数据页进行备份，可以有效减少备份集的空间占用、提高备份速度。这个特定的、已经存在的备份集称为增量备份的<code>基备份</code></p>
<p>根据对<code>基备份</code>的要求不同，DM 增量备份分为以下两种：</p>
<ul>
<li><strong>差异增量备份</strong></li>
</ul>
<p>差异增量备份的基备份既可以是一个完全备份集，也可以是一个增量备份集</p>
<p>利用增量备份进行还原操作时，要求其基备份必须是完整的；如果差异增量备份的基备份本身也是一个增量备份，那么同样要求其基备份是完整的；任何一个增量备份，最终都是以一个完全备份作为其基备份。因此，完全备份是增量备份的基础</p>
<ul>
<li><strong>累积增量备份</strong></li>
</ul>
<p>累积增量备份的基备份只能是完全备份集</p>
<p>增量备份的基备份集既可以是脱机备份生成的，也可以是联机备份生成的，脱机增量备份的基备份集可以是联机备份生成的，联机增量备份的基备份集也可以是脱机备份生成的</p>
<h3 id="还原">还原 </h3>
<p>还原是备份的逆过程，就是从备份集中读取数据页，并将数据页写入到目标数据库对应数据文件相应位置的过程</p>
<ul>
<li>联机备份时，系统中可能存在一些处于活动状态的事务正在执行，并不能保证备份集中的所有数据页是处于一致性状态</li>
<li>脱机备份时，数据页不一定是正常关闭的，也不能保证备份集中所有数据页是处于一致性状态。因此，还原结束后目标库有可能处于非一致性状态，不能马上提供数据库服务；必须要进行数据库恢复操作后，才能正常启动</li>
</ul>
<h4 id="逻辑与物理还原">逻辑与物理还原 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>含义</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>逻辑还原</td>
<td>逻辑备份的逆过程</td>
<td>逻辑还原就是使用 dimp 工具，把 dexp 导出的备份数据重新导入到目标数据库</td>
</tr>
<tr>
<td>物理还原</td>
<td>物理备份的逆过程</td>
<td>物理还原一般通过 DMRMAN 工具（或者 SQL 语句）把备份集中的数据内容（数据文件、数据页、归档文件）重新拷贝、写入目标文件</td>
</tr>
</tbody>
</table>
<h4 id="联机与脱机还原">联机与脱机还原 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>含义</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>联机还原</td>
<td>数据库处于运行状态时，通过 SQL 语句执行还原操作</td>
<td>表还原可以在联机状态下执行</td>
</tr>
<tr>
<td>脱机还原</td>
<td>数据库处于关闭状态时执行的还原操作</td>
<td>脱机还原通过 DMRMAN 工具进行。库备份、表空间备份和归档备份，可以执行脱机还原。脱机还原操作的目标库必须处于关闭状态</td>
</tr>
</tbody>
</table>
<h4 id="数据与归档日志还原">数据与归档日志还原 </h4>
<p><strong>数据还原</strong>可以分为<code>库还原</code>、<code>表空间还原</code>和<code>表还原</code>。库还原和表空间必须脱机执行；表还原操作只能联机执行</p>
<ul>
<li>表空间还原的数据来源既可以是表空间备份集，也可以是库备份集。还原的目标表空间不能是 TEMP 表空间，只能是 MAIN、SYSTEM、ROLL 表空间，或者用户定义的表空间</li>
<li>表还原从表备份集读取数据，重新恢复目标表数据，还会在目标表上重建索引、约束</li>
</ul>
<p><strong>归档日志还原</strong>则将归档日志备份集中的归档日志内容，重新生成到指定目录中</p>
<h4 id="完全还原与增量还原">完全还原与增量还原 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>含义</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>完全还原</td>
<td>直接利用完全备份集进行数据还原操作</td>
<td></td>
</tr>
<tr>
<td>增量还原</td>
<td>通过增量备份集进行数据还原操作</td>
<td>由于增量备份集的基础一定是一个完全备份集，因此增量还原过程中隐含了一个完全还原操作。<strong>如果增量备份集的基备份集被删除了，那么单独使用这个增量备份集是无法进行还原操作</strong></td>
</tr>
</tbody>
</table>
<h3 id="备份还原过程">备份还原过程 </h3>
<p>针对不同的备份对象，一个完整的备份还原过程包含的步骤不同</p>
<ul>
<li>库备份与还原包括：备份—还原—恢复。此处恢复又细分为恢复一致性、更新 DB_MAGIC 两步</li>
<li>表空间备份与还原包括：备份—还原—恢复。此处恢复只包括恢复一致性这一步</li>
<li>表备份与还原包括：备份—还原</li>
<li>归档备份与还原包括：备份—还原</li>
</ul>
<p>上述有的步骤既可以在联机状态下执行，又可以在脱机状态下执行。下表中列出了不同的状态下所支持的操作</p>
<p><img src="data:image/png;charset=utf-8;base64,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" alt="表 1.1 不同状态下支持的备份还原操作.png"></p>
<blockquote>
<p><code>DB_MAGIC</code>是一个用于标识数据库的整数值，通常称为数据库魔数。它在数据库的备份和恢复过程中起着重要作用</p>
<ul>
<li><strong>区分备份源库和还原目标库</strong>：每次数据库经过还原或恢复操作后，<code>DB_MAGIC</code> 会发生变化，从而可以区分不同的备份源库和还原目标库</li>
<li><strong>用于数据库恢复</strong>：在数据库恢复过程中，可以通过更新 <code>DB_MAGIC</code> 来完成恢复操作。例如，在不需要重做归档日志的情况下，可以直接更新 <code>DB_MAGIC</code> 来完成数据库的恢复</li>
<li><strong>确保数据一致性</strong>：<code>DB_MAGIC</code> 的变化有助于确保在恢复过程中数据的一致性和完整性</li>
</ul>
</blockquote>
<h3 id="介质管理层">介质管理层 </h3>
<p>DM 通过介质管理层 MML，将备份、还原和恢复过程中备份片文件和元数据文件的读取写入动作进行抽象、隔离，备份还原过程中 MML 层会调用一组 SBT 接口来访问备份存储介质。SBT 接口是 DM 定义的一组 API 函数，允许第三方厂商定制、管理备份存储介质；DM 系统自带的备份还原功能也遵循了 SBT 规范。</p>
<p>如果备份、还原时指定 DEVICE TYPE 为 TAPE，且使用第三方提供的 dmsbtex.dll(<a href="http://dmsbtex.so">dmsbtex.so</a>)来完成备份文件的存取功能，则 DEVICE TYPE 指定 TAPE 时还会提供 PARMS 关键字，用于传递第三方可识别的自定义字符串。使用第三方提供的动态库时，用户层应用不受影响。默认 DEVICE TYPE 为 DISK，使用达梦自带 SBT 磁盘存储</p>
<h3 id="备份方式">备份方式 </h3>
<p>当前仅支持备份集方式的备份还原，不再支持其他备份方式</p>
<p>备份还原实现策略有两种：<code>dmap 辅助进程</code>方式和<code>无辅助进程</code>方式。用户可通过 DM.INI 参数 bak_use_ap 来选择（dmrman 使用参数 use_ap），bak_use_ap 可取值 1、2（默认为 1）</p>
<p>bak_use_ap 的两种取值的相应作用如下：</p>
<ul>
<li><strong>DMAP辅助进程方式</strong>：可支持第三方备份（指定 DEVICE TYPE 为 TAPE）。DMAP 插件执行，改造了备份还原任务子系统，允许指定并行度，大幅提升了备份还原的效率，特别是加密、压缩的处理效率。如果选择使用 DMAP 辅助进程，执行备份还原之前就必须启动 DMAP 服务。安装 DM 数据库以后，DMAP 服务会自动启动。如果需要手动启动，有两种途径，一是启动 DM 服务查看器中的<code>DmAPService</code>。二是通过手动启动 DMAP 执行码实现，DMAP 执行码位于 DM 安装目录的 bin 子目录下。除此之外，LINUX 下，还可以调用 bin 目录下的 DmAPService 脚本</li>
<li><strong>无辅助进程方式</strong>：不依赖 DMAP，由主进程 dmserver 自身执行备份还原，但不支持第三方备份（指定 DEVICE TYPE 为 TAPE）</li>
</ul>
<h2 id="备份恢复原理">备份恢复原理 </h2>
<h3 id="归档">归档 </h3>
<p>备份与恢复过程都依赖归档日志，归档日志是保证数据一致性和完整性的重要保障。配有归档日志的数据库系统在出现故障时丢失数据的可能性更小，这是因为一旦出现介质故障如磁盘损坏时，利用归档日志，系统可被恢复至故障发生的前一刻，也可以还原到指定的时间点</p>
<h4 id="归档种类">归档种类 </h4>
<table>
<thead>
<tr>
<th>类别</th>
<th>过程</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>REDO日志本地归档（LOCAL）</td>
<td>将 REDO 日志写入到本地归档日志文件的过程</td>
<td>REDO日志落盘后，对应的 RLOG_PKG 由专门的归档线程负责写入本地归档日志文件中。本地归档日志文件不能被覆盖，写入其中的 REDO 日志信息会一直保留，直到用户主动删除</td>
</tr>
<tr>
<td>远程归档（REMOTE ARCHIVE）</td>
<td>专门用于 DMDSC 环境中，两个节点将自己的远程归档相互配置在对方机器上</td>
<td>DMDSC 集群中，各个节点配置一个远程归档为其他节点的本地归档，通过这种共享本地归档的方式，可以在任意一个节点上，访问到 DMDSC 集群所有节点产生的、完整的归档日志文件。若节点出现故障，故障恢复后，因为该节点配置的远程归档为其他节点的本地归档，该节点的远程归档内容仍然是完整的，因此无需进行手动修复</td>
</tr>
</tbody>
</table>
<h4 id="归档恢复">归档恢复 </h4>
<p><strong>数据库实例正常退出时</strong>：会将所有 REDO 日志写入本地归档日志文件中</p>
<p><strong>数据库实例异常关闭时</strong>：可能存在部分 REDO 日志未写入本地归档日志文件中，归档日志文件中的内容比实际可恢复的数据少一部分。此时将无法利用归档日志文件将数据恢复到最新状态，<strong>需要从联机日志文件拷贝该部分日志以补齐归档日志</strong></p>
<p>本地归档修复会扫描联机日志文件，将那些已经写入联机日志文件、但还没有写入到归档日志文件的 REDO 日志，重新写入到归档日志文件，流程如下：</p>
<ol>
<li>收集本地归档日志文件</li>
<li>扫描归档文件，获取最后一个有效 RLOG_PKG 偏移</li>
<li>首先，根据偏移来截取最后一个本地归档日志文件中有效内容，删除掉 RLOG_PKG 偏移之后的多余内容，保留 RLOG_PKG 偏移之前的内容，并调整日志文件头信息。然后，再创建一个新的空的归档日志文件</li>
<li>扫描联机日志文件，拷贝缺失的 REDO 日志并写入新创建的归档日志文件</li>
</ol>
<h4 id="归档备份还原">归档备份还原 </h4>
<p>归档日志备份是数据库备份的一个有效补充。在使用非一致性备份集进行还原后，必须使用归档日志进行恢复之后，数据库才能启动</p>
<p>因为归档日志文件中保存了所有数据库操作产生的 REDO 日志，所以只要在一个基准备份集的基础上，加上一个完整的归档日志，我们就可以将数据库恢复到任意时间点的状态</p>
<h5 id="归档备份">归档备份 </h5>
<p><strong>归档日志备份</strong>专门 用来备份本地归档日志文件，将符合条件的本地归档日志文件拷贝到备份集中保存起来</p>
<p>归档日志备份仅备份指定数据库生成的本地归档日志文件，要求归档日志文件的 DB_MAGIC 与数据库的 DB_MAGIC 保持一致。如果本地归档目录中包含多个不同数据库的归档日志文件，也只会备份一个特定数据库的归档日志。由于经过还原后数据库的 DB_MAGIC 会产生变化，因此即便 PERMANENT_MAGIC 相同，DB_MAGIC 不同的数据库产生的归档日志也不会备份</p>
<ul>
<li>归档日志备份也支持加密与压缩功能</li>
<li>可以联机执行归档日志备份，也可以在数据库关闭情况下使用 DMRMAN 工具进行脱机备份</li>
<li>归档日志备份时，可以指定是否删除已经备份的归档日志文件，在生成归档日志备份集的同时，删除本地归档日志文件，释放磁盘空间</li>
</ul>
<p>可通过<code>V$ARCH_BACKUP_HISTORY</code>查看当前节点的归档日志备份信息</p>
<blockquote>
<p><code>PERMANENT_MAGIC</code> 是一个用于标识数据库的整数值，称为数据库的永久魔数。它在数据库初始化时生成，并且一旦生成，通常不会改变。其主要作用包括：</p>
<ul>
<li><strong>唯一标识数据库</strong>：<code>PERMANENT_MAGIC</code> 是数据库的唯一标识符，用于区分不同的数据库实例</li>
<li><strong>在备份和恢复过程中保持不变</strong>：与 <code>DB_MAGIC</code> 不同，<code>PERMANENT_MAGIC</code> 在数据库的备份和恢复过程中保持不变，除非进行特定的操作（如使用 <code>DDL_CLONE</code> 还原库）</li>
</ul>
</blockquote>
<h5 id="归档还原">归档还原 </h5>
<p>归档日志还原就是将备份集中的归档日志文件重新拷贝到指定归档目录中</p>
<p>使用归档日志备份集，既可以将归档日志文件还原到指定数据（还原时指定目标库的 dm.ini）的归档目录，也可以还原到用户指定的任意归档目录中</p>
<p>归档日志还原的过程包括：</p>
<ol>
<li>根据过滤条件，从归档日志备份集收集需要还原的归档日志文件</li>
<li>在指定的归档目录创建归档文件。如果目标归档文件已经存在，默认采用认为该归档完好，生成一条日志记录，不再还原策略。也可以使用 OVERWRITE 指定策略。OVERWRITE 参数为：1 表示认为归档文件完好，不再还原该归档文件，添加一条日志记录；2 表示存在同名归档立即报错返回，终止还原；3 表示强制删除归档，重新还原同名归档</li>
<li>从备份集拷贝 REDO 日志，写入目标归档日志文件</li>
</ol>
<p>如果备份时指定了加密或压缩，还原过程中会先经过解密和解压缩处理，再写回到目标归档日志文件中</p>
<h3 id="数据备份">数据备份 </h3>
<p>任何一个对 DM 数据库的操作，归根结底都是对某个数据文件页的读写操作。物理备份就是把这些数据文件中的有效数据页备份起来，在出现故障时，用于恢复数据</p>
<p>一份完整的物理备份包括<code>数据备份</code>和<code>REDO日志备份</code>两部分。数据备份是拷贝数据页内容，REDO 日志备份则是拷贝备份过程中产生的 REDO 日志</p>
<p><img src="data:image/jpg;charset=utf-8;base64,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fC//AGFT/wCktxXQVz/iP/kK+F/+wqf/AEluKAOgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5/w1/x/eI/+wq3/omGugrn/DX/AB/eI/8AsKt/6JhoA6CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuf8R/8hXwv/2FT/6S3FdBXP8AiP8A5Cvhf/sKn/0luKAOgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5/wANf8f3iP8A7Crf+iYateJ9ak8O+Gr/AFiOza8NnEZWgV9hZR945wegyfwryv4cfFtfEXi+40i30KVG1O7e6MpuARCgiUHI28/c9vvCgD2qiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuf8AEf8AyFfC/wD2FT/6S3FdBXinxE+Li+HvGdrpVxoMrtpN4LoSC4AE6tA6jHy8f633+6RQB7XRWV4a1iTxB4b0/V5LNrM3kImWBn3FVPK84HUYPTvWrQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVy+r/EbwjoWsrpGpa5bwXxIBjIZghPTewBCf8CI45qxN428OQWep3cupokGmT/ZrtjG/yS8fKBjLHkfdzR0uHWx0FFcjrHxP8HeH9SGnarrH2W72I5ia2mJAYZGSEwOOx6d6i1T4r+B9Guxa3uvRrK0aSr5cEsqsjDKkMikEEHsaAOzoqho2s6f4g0mDVNLuPtFlOCY5NjLuwSDwwBHIPUUkmuad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" alt="备份内容"></p>
<p>数据备份过程中，根据 DM 数据文件系统的描述信息，准确判断每一个数据页是否被分配、使用，将未使用的数据页剔除，仅保留有效数据页进行备份，这个过程我们称为智能抽取</p>
<p>与直接文件拷贝方式相比，DM 物理备份丢弃了那些没有使用的数据页，因此可以节省对存储空间的要求，并有效减少 IO 数量，提升备份、还原的效率。</p>
<p>对处于<code>RES_OFFLINE（还原状态）</code>和<code>CORRUPT（损坏状态）</code>状态的表空间，则只记录表空间相关信息和状态，不会真正拷贝数据页。数据备份过程中，会对数据进行校验，如果校验失败则会将相关信息写入到日志文件<code>dm_BAKRES_xxx.log</code>中，但不会终止当前备份操作</p>
<h4 id="库备份">库备份 </h4>
<p>DM 支持联机和脱机库级备份。库备份分为<code>完全备份</code>和<code>增量备份</code>两种</p>
<ul>
<li>完全备份</li>
</ul>
<p>执行完全备份，备份程序会扫描数据文件，拷贝所有被分配、使用的数据页，写入到备份片文件中（如上图完全备份）库备份会扫描整个数据库的所有数据文件，即备份数据文件包括除 TEMP 表空间以外的其他表空间内的所有数据文件。数据文件备份结束后，BEGIN_LSN 之前修改的所有数据页都被备份下来</p>
<ul>
<li>增量备份</li>
</ul>
<p>执行增量备份，备份程序会扫描数据文件，拷贝所有基备份结束以后被修改的数据页，写入到备份片文件中</p>
<p>DM 要求执行增量备份时，<code>&lt;=基备份 END_LSN</code>的所有数据页已经写入磁盘。</p>
<p>由于基备份过程中，基备份<code>BEGIN_LSN</code>与<code>END_LSN</code>之间的数据页可能被修改，导致数据库中的数据与备份文件中的数据不一致，所以增量备份会拷贝<code>LSN &gt; 基备份 BEGIN_LSN</code>的数据页写入备份片文件中（如上图中第三根横轴所示），<code>LSN &lt;= 基备份 BEGIN_LSN</code>的数据页不需要写入到备份片文件中</p>
<p>增量备份会扫描整个数据库的所有数据文件</p>
<h4 id="表空间备份">表空间备份 </h4>
<p>表空间备份只拷贝指定表空间的数据页，因此，相对于数据库备份而言，表空间备份的速度会更快，生成的备份集会更小</p>
<p>对一些包含关键数据的用户表空间，我们可以使用表空间备份功能，进一步保障数据安全</p>
<p>表空间备份支持完全备份和增量备份，但只能在联机状态下执行。不支持 TEMP 表空间备份还原</p>
<h4 id="表备份">表备份 </h4>
<p>表备份主要包括<code>数据备份</code>和<code>元信息备份</code>两部分。与库备份和表空间备份不同，表备份不是直接扫描数据文件，而是从 BUFFER 中加载数据页，拷贝到备份片文件中。表备份的元信息则包括建表语句、重建约束语句、重建索引语句，以及其他相关属性信息</p>
<p>表备份不需要配置归档就可以执行，并且不支持增量表备份</p>
<h4 id="备份附加项">备份附加项 </h4>
<h5 id="redo日志备份">REDO日志备份 </h5>
<p><strong>日志备份</strong>就是将<strong>联机备份过程中产生的 REDO 日志拷贝到备份片文件中</strong>，用来在数据库还原结束后，将数据库恢复到一致性状态</p>
<p>只有库级和表空间级备份支持联机日志备份。未指定 WITHOUT LOG 参数，则备份包含了联机日志备份。增量备份和完全备份的 REDO 日志备份流程完全相同</p>
<p>在备份开始时，记录一个 BEGIN_LSN，在备份结束后记录一个 END_LSN，那么 <code>[BEGIN_LSN,END_LSN]</code> 之间的 REDO 日志，就对应备份过程中用户对数据的修改。其中 BEGIN_LSN=CKPT_LSN，作为日志备份的起点，END_LSN = 数据备份结束时的 FILE_LSN，作为日志备份的终点</p>
<p>联机库备份默认开启日志备份，将备份过程中产生的 REDO 日志单独写入备份片作为备份集的一部分。也可以通过 WITHOUT LOG 子句取消这部分 REDO 日志的拷贝，这种情况下生成的备份本身是不完整的，数据库还原后，还要依赖备份库的本地归档日志来进行恢复操作后，才能将数据恢复到一致性状态；否则，还原后的数据库将无法正常启动</p>
<blockquote>
<p>还原后目标库中 REDO 日志的数量，由目标库本身 REDO 日志的数量决定。跟源库中 REDO 日志的数量无关</p>
</blockquote>
<h5 id="压缩与加密">压缩与加密 </h5>
<p>DM 支持对备份数据进行压缩和加密处理，默认情况下备份不进行压缩和加密处理</p>
<p>DM 共支持9个级别（1~9 级）的压缩处理，级别越高压缩比越高，但相应的压缩速度越慢、CPU 开销越大</p>
<p>备份加密包括<code>加密密码</code>、<code>加密类型</code>和<code>加密算法</code>三个要素。加密密码通过<code>IDENTIFIED BY&lt;加密密码&gt;</code>来指定，使用备份集时需要输入对应密码。加密类型和算法，用户均可手动指定。如果用户指定了加密密码，但没有指定加密类型和算法，则使用默认加密算法进行简单加密。用户也可以指定加密密码，但将加密类型指定为不加密</p>
<p>如果同时指定加密和压缩，则备份过程中，会先进行压缩处理，再进行加密处理，备份的所有数据页和 REDO 日志都会进行压缩、加密处理</p>
<blockquote>
<p>如果基备份集没有指定加密类型，那么增量备份也不能指定加密类型<br>
如果基备份集指定了加密算法，那么增量备份的加密类型、加密算法和密码必须与基备份保持一致</p>
</blockquote>
<h5 id="并行备份">并行备份 </h5>
<p><code>库备份</code>、<code>表空间备份</code>以及<code>归档日志备份</code>可以进行并行处理，通过<code>PARALLEL</code>指定是否执行并行备份，以及并行备份的并行数。若指定<code>PARALLEL</code>但不指定并行数，那么默认的并行数为 4，但实际的备份并行度由 DMAP 最终创建成功的并行子任务数决定。增量备份是否并行以及并行数与其基备份集无关</p>
<p>目前的数据库并行备份还原都是以文件为单位，适用于待备份文件大小比较均匀的情况。若文件大小差别比较大，特别存在个别文件巨大时，并行备份还原基本没有优势。因此在进行数据库备份时，需要指定<code>READ SIZE &lt;拆分块大小&gt;</code>，将巨大的数据文件先进行拆分之后再进行备份</p>
<p>执行并行备份会生成一个主备份集和若干个子备份集，子备份集不能单独还原，也不能作为其他备份集的基备份。备份过程中产生的 REDO 日志保存在主备份集中，子备份集仅包含数据文件相关内容</p>
<p>下为一个并行数为 3 的脱机并行备份集（左）和非并行脱机备份集（右）比较图</p>
<p><img src="https://download.dameng.com/eco/docs/asset/pm/backup-restore/%E5%9B%BE2.4%E5%B9%B6%E8%A1%8C%E5%A4%87%E4%BB%BD%E9%9B%86%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84%E7%A4%BA%E6%84%8F%E5%9B%BE.png" alt="并行备份集目录结构示意图"></p>
<h3 id="还原-1">还原 </h3>
<p>还原是备份的逆过程，具体包括<code>数据还原</code>和<code>数据恢复</code>两步</p>
<ul>
<li>数据还原的主要目的是将目标数据库还原到备份结束时刻的状态，数据还原的主要动作是将数据页从备份集中拷贝回数据库文件相应位置</li>
<li>数据恢复则是重做 REDO 日志将数据库恢复到一致性状态</li>
</ul>
<p>还原恢复时，若性能较差，则可以通过适当增大<code>dm.ini</code>文件中<code>BUFFER</code>的参数值或根据当前系统主机核数适当调整 <code>REDOS_PARALLEL_NUM</code>的参数值来提升还原恢复性能。其中，BUFFER 的参数值建议为可用物理内存的 60%～80%。关于 dm.ini 文件的具体配置信息请参考<a href="https://eco.dameng.com/document/dm/zh-cn/pm/physical-storage.html">《DM8 系统管理员手册》</a></p>
<h4 id="数据还原">数据还原 </h4>
<h5 id="库还原">库还原 </h5>
<p><strong>库还原</strong>：根据库备份集中记录的文件信息重新创建数据库文件，并将数据页重新拷贝到目标数据库的过程</p>
<p>DM 既可以将一个已存在的数据库作为还原目标库，也可以指定一个路径作为还原目标库的目录</p>
<p>库还原的主要步骤包括：清理目标库环境；重建数据库文件；拷贝数据页；重建联机日志文件；修改配置参数等</p>
<p><strong>（一）清理目标库环境</strong></p>
<p>若指定<code>已存在的数据库作为还原目标库</code>：</p>
<ol>
<li>解析 dm.ini 配置文件，获取 dm.ctl 控制文件路径</li>
<li>删除控制文件中的数据文件</li>
<li>根据 OVERWRITE 选项，如果指定 OVERWRITE 选项，若待还原文件存在，则删除；如果未指定 OVERWRITE 选项，若待还原文件存在，则报错，但保留目标库的日志文件、控制文件等</li>
<li>HUGE 数据文件未记录在 dm.ctl 控制文件中</li>
</ol>
<p>若指定<code>还原到一个目录</code>：</p>
<ol>
<li>根据 OVERWRITE 参数选择策略，检查目标目录内的 dm.ini 文件、dm.ctl 文件、默认的日志文件 DBNAME01.log 和 DBNAME02.log（其中 DBNAME 为数据库名称）、待还原的数据文件等</li>
<li>如果用户指定 OVERWRITE 参数，并且存在相关文件情况下，还原过程中会自动删除这些已经存在的文件</li>
<li>如果没有指定 OVERWRITE 参数，并且存在相关文件，则会报错</li>
</ol>
<p><strong>（二）重建数据库文件</strong></p>
<p>如果将一个已存在数据库作为还原目标，则需要将目标数据库的 dm.ini 路径作为还原参数。还原过程中，会重新创建数据文件，并将相关信息写入 dm.ctl 控制文件中</p>
<p>如果将数据库还原到指定目录，则会在这个目录创建一个 dm.ini 配置文件，设置 CTL_PATH、SYSTEM_PATH 配置项指向这个目录，并在这个目录下创建 dm.ctl 控制文件。DMDSC 不支持指定目录还原数据库</p>
<p>数据文件重建策略：</p>
<p>1）目标库和备份集中的 SYSTEM_PATH 路径相同，则按照备份集中记录的原始路径创建文件</p>
<p>2）目标库和备份集中的 SYSTEM_PATH 路径不相同，默认在目标库的 SYSTEM_PATH 目录下创建文件</p>
<p>3）目标库设置 REDOS_FILE_PATH_POLICY 参数为 1 时，用户创建的表空间（表空间 id 大于等于 5）按照数据文件在源库中的路径结构，在目标库 SYSTEM_PATH 下创建相同路径结构的文件</p>
<p>4）使用 mapped file 指定源文件与目标文件的映射关系，定制数据库文件的物理分布情况，可以很好的满足用户关于数据文件分布的需求</p>
<p><strong>（三）重建联机日志文件</strong></p>
<p>指定目录还原，系统目录使用指定还原目录，所有库配置文件均认为在指定还原目录下。联机日志文件命名规则，单机环境为 db_name+ 文件编号.log，其中 db_name 取自备份集备份库的名称，文件编号从 1 开始，如 DAMENG01.log、DAMENG02.log。联机日志文件至少 2 个</p>
<p><strong>（四）拷贝数据页</strong></p>
<p>拷贝数据页是从备份集中读取数据页，并将数据页写入数据文件指定位置的过程。由于备份过程中，只将有效的数据页写入备份集中，因此，还原过程也只涉及这些被分配使用的数据页</p>
<p><strong>（五）重置目标库</strong></p>
<p>具体包括：</p>
<ol>
<li>更新日志信息，设置当前 CKPT_LSN 为备份集中 BEGIN_LSN，并设置日志文件状态为 INACTIVE</li>
<li>更新 DB_MAGIC，还原后，库中 PERMANENT_MAGIC 仍与备份集中相同</li>
<li>设置还原标志，标识当前库为指定库要还原的库，不允许使用</li>
<li>更新目标库的控制文件 dm.ctl，把当前库中的数据文件信息都记录到控制文件中，使用备份集中的服务器秘钥文件，重新生成新的秘钥文件</li>
</ol>
<p><strong>（六）修改配置参数</strong></p>
<p><code>还原到指定库时</code>，默认会保留目标库的配置参数不变，也可以在还原时指定 REUSE DMINI 子句，使用备份集中的配置参数替换目标库 dm.ini 中的配置参数</p>
<p><code>还原到指定目录时</code>，会重新建立一个 dm.ini 配置文件，并用备份集中的参数值来设置这些配置项。需要注意的是，一般与路径相关的配置参数，比如 SYSTEM_PATH 等并不会被替换，而是保留目标库 dm.ini 的原始值不变</p>
<p>服务器秘钥文件(dm_service.prikey 或者 dm_external.config)仅在备份集中备份库非 usbkey 加密的情况下重建，并使用备份集中备份的秘钥内容进行还原</p>
<p>注意事项：</p>
<p>1）指定的 dm.ini 必须存在且各项配置信息有效，其中 CTL_PATH 必须配置且路径必须有效</p>
<p>2）若指定目录还原，则指定目录作为数据库系统目录处理</p>
<p>3）由于还原是要确保数据库数据的完整性，因此，对于增量备份的还原，需要搜集完整的备份集链表，然后从前到后，逐个还原备份集中数据。鉴于增量备份 BEGIN_LSN 确定规则，增量备份的还原过程中，不需要重做任何归档日志</p>
<h5 id="表空间还原">表空间还原 </h5>
<p>表空间还原是根据库备份集或表空间备份集中记录的数据信息，重建目标表空间数据文件并拷贝数据页的过程，该过程不涉及日志操作。表空间还原只可以在<code>脱机状态</code>下执行（DMRMAN），对表空间状态没有限制</p>
<ul>
<li>表空间还原后如果表空间状态为<code>RES_OFFLINE</code>，表明目标表空间已进行还原操作，但数据不完整（V$TABLESPACE）</li>
<li>表空间文件损坏或缺失（处于OFFLINE状态）</li>
</ul>
<p>以上两种故障情况下如果想直接删除表空间，不考虑还原恢复的方式，则可以手动将表空间切换到CORRUPT状态，再执行删除操作，否则无法删除。已经切换到CORRUPT状态后，仍然允许再次执行还原恢复</p>
<p>在部分数据文件损坏，或者部分物理磁盘损坏情况下，我们可以指定还原数据文件，跳过那些不正常的数据文件，以提升还原速度</p>
<p>表空间还原也支持使用 mapped file 进行数据文件映射，如果不指定 mapped file，则默认当前系统目录与备份集中一致。实际创建过程中，若发现已经存在或者创建失败后，处理方式与数据库还原中数据重建策略处理一致</p>
<blockquote>
<p>表空间状态包括：ONLINE（0联机状态）、OFFLINE（1脱机状态）、RES_OFFLINE（2还原状态）、CORRUPT（3损坏状态）</p>
</blockquote>
<h5 id="表还原">表还原 </h5>
<p>表还原是表备份的逆过程，表还原从表备份集中读取数据替换目标表，将目标表还原成备份时刻的状态。表还原主要包括三部分内容：<code>表结构还原</code>、<code>数据还原</code>、以及<code>重建索引和约束</code></p>
<ul>
<li>如果还原目标表不存在，则利用备份集中记录的建表语句重建目标表</li>
<li>如果还原目标表已经存在，则清除表中的数据、删除二级索引和约束</li>
<li>如果备份表存在附加列（通过 ALTER TABLE 语句快速增加的列），那么还原目标表必须存在、并且目标表所有列的物理存储格式必须与备份源表完全一致</li>
</ul>
<p>数据还原过程从表备份集拷贝数据页，重构数据页之间的逻辑关系，并重新形成一个完整的表对象。在数据还原结束后，使用备份集中记录的信息，重新在表上创建二级索引，并建立各种约束</p>
<p>表还原只支持在联机状态下执行，表还原过程中也不需要重做 REDO 日志。并且，表备份集允许跨库还原，但要求还原目标库与源库的数据页大小等建库参数相同</p>
<p>需要匹配的建库参数参考下表</p>
<p><img src="data:image/png;charset=utf-8;base64,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" alt="image-20250112224225067"></p>
<h3 id="数据恢复">数据恢复 </h3>
<p>**数据恢复是指在还原执行结束后，重做 REDO 日志，将数据库恢复到一致性状态，并执行更新 DB_MAGIC 的过程。**其中重做 REDO 日志可以多次执行，直到恢复到目标状态。还原结束后，必须经过恢复操作，数据库才允许启动。即使备份过程中没有修改任何数据，备份集不包含任何 REDO 日志，在数据库还原结束后，也必须使用 DMRMAN 工具执行数据恢复操作后，才允许启动数据库</p>
<p>重做恢复REDO日志包括：（1）备份集中的REDO、（2）备份数据库本地归档日志文件</p>
<p>不管采用哪种数据恢复方法，REDO 日志的范围至少要覆盖备份过程中产生的 REDO 日志，也就是说必须完整包括备份集中记录的<code>[BEGIN_LSN,END_LSN]</code>之间的 REDO 日志，如果归档日志缺失将会导致数据库恢复失败</p>
<p><code>PERMANENT_MAGIC</code>与<code>DB_MAGIC</code>补充说明：</p>
<ul>
<li>PERMANENT_MAGIC 和 DB_MAGIC 是用来标识数据库的 INTEGER 类型值</li>
<li>DM 在初始化数据库时生成 PERMANENT_MAGIC 和 DB_MAGIC 值，其中 PERMANENT_MAGIC 一经生成，永远不会改变（DDL_CLONE 还原库的 PERMANENT_MAGIC 除外），称为数据库永久魔数</li>
<li>只有 DDL_CLONE 还原库的 PERMANENT_MAGIC 会发生改变，当一个库使用 DDL_CLONE 备份集还原并恢复之后，在执行<code>RECOVER DATABASE …… UPDATE DB_MAGIC</code>时，PERMANENT_MAGIC 会发生改变</li>
<li>DB_MAGIC 称为数据库魔数，同样可以用来表示某一个数据库，但 DB_MAGIC 是可以变化的，每经过一次还原、恢复操作后，DB_MAGIC 就会产生变化，用来区分备份源库和还原目标库</li>
</ul>
<p>可以通过下列语句查看系统的 PERMANENT_MAGIC 和 DB_MAGIC 值</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-SELECT">SELECT</span> PERMANENT_MAGIC<span class="token punctuation">;</span>

<span class="token keyword keyword-SELECT">SELECT</span> DB_MAGIC <span class="token keyword keyword-FROM">FROM</span> V$RLOG<span class="token punctuation">;</span>
</code></pre><h4 id="数据库恢复">数据库恢复 </h4>
<p>数据库恢复分为两步：恢复一致性、更新<code>DB_MAGIC</code></p>
<h5 id="恢复一致性">恢复一致性 </h5>
<p>恢复一致性有两种途径：一是通过指定备份集恢复；二是通过指定归档恢复。用户需根据备份时是否选择<code>WITHOUT LOG</code>子句来决定选择何种恢复途径</p>
<p><strong>指定备份集恢复</strong></p>
<p>默认未指定<code>WITHOUT LOG</code>子句的联机库备份生成的备份集，包含了备份过程中产生的 REDO 日志，数据还原结束后，可以直接指定备份集，将数据库恢复到备份结束时的状态</p>
<p>由于执行增量备份时，要求&lt;=基备份 END_LSN 的所有数据页已经写入磁盘；因此基备份集中包含的 REDO 日志不需要重做，只要重做指定执行还原操作的备份集中包含的 REDO 日志，就可以将数据库恢复到一致性状态</p>
<p>指定备份集恢复的过程包括：</p>
<ol>
<li>从备份集读取 REDO 日志，并生成一个临时的本地归档日志文件</li>
<li>利用生成的临时归档日志文件，重做 REDO 日志，并将数据修改写入磁盘</li>
<li>删除临时生成的归档日志文件</li>
<li>更新数据库日志信息，设置 CKPT_LSN 为最后一个重做的 REDO 日志 LSN 值</li>
<li>修改数据状态为 ACTIVE，标记数据库启动时需要进行相应的回滚活动事务、PURGE 已提交事务</li>
</ol>
<p><strong>指定归档恢复</strong></p>
<p>指定了<code>WITHOUT LOG</code>子句，那么产生的备份集不包含备份过程中产生的 REDO 日志。这种备份集还原后，必须利用本地归档日志，将数据库恢复到一致性状态。执行恢复前，会检查本地归档日志文件的完整性，要求必须包括<code>[BEGIN_LSN,END_LSN]</code>之间完整的 REDO 日志。本地归档日志可以将数据库恢复到备份结束后任意时间点状态</p>
<p>利用本地归档日志进行恢复时，DMRMAN 工具会扫描指定的归档日志目录，收集与恢复数据库 PERMANENT_MAGIC 值相等的归档日志文件。与指定备份集恢复相比，利用本地归档日志恢复不需要生成、删除临时归档日志文件，其余的执行流程完全相同</p>
<p>指定归档恢复的执行场景主要包括：</p>
<ul>
<li>将还原后处于非一致性状态的数据库恢复到一致性状态</li>
<li>将已经处于一致性状态的数据库尽可能地恢复到最新状态</li>
<li>将数据库恢复到指定时间点状态</li>
<li>将数据库恢复到指定 LSN 产生时的状态</li>
</ul>
<blockquote>
<p>注意：</p>
<ul>
<li>使用DDL CLONE方式备份的数据库，不支持指定归档恢复</li>
<li>指定归档恢复时，不建议使用联机状态下源库的归档，此时无法保证归档的完整性</li>
</ul>
</blockquote>
<p>DM 中的归档日志包含时间信息，重做归档日志过程中，一旦发现达到了指定时间点，就马上终止归档日志重做。在出现误操作的情况下，通过指定时间点恢复，可能帮助用户修复数据。比如：用户在下午 5 点做了一个误操作，删除了某些重要数据；我们可以将恢复时间设置为下午 4:59 分，在恢复完成后，重新找回被误删的数据</p>
<p>除了指定时间点，我们还可以通过指定 LSN 进行恢复。DM 中每条 REDO 日志记录都对应一个唯一的 LSN 值，指定 LSN 值以后，数据库将会精准的恢复到产生这个 LSN 时间点的状态</p>
<h5 id="更新db_magic">更新DB_MAGIC </h5>
<p>若备份集满足 BEGIN_LSN 等于 END_LSN，即在备份过程中未产生 REDO 日志，则使用此备份集还原后只需要更新 DB_MAGIC 即可完成恢复。更新 DB_MAGIC 不重做 REDO 日志，仅仅更新库的 DB_MAGIC 值和数据库状态</p>
<p>只能在还原后的数据库上执行更新DB_MAGIC操作</p>
<h4 id="表空间恢复">表空间恢复 </h4>
<p>考虑到用户表空间上的数据库对象定义是保存在 SYSTEM 表空间的系统表内，而用户表空间仅保存这些数据库对象的数据，为了避免出现数据库对象的数据与定义不一致的情况，一般要求在表空间还原后，重做指定表空间所有 REDO 日志将这个表空间数据恢复到最新状态。与表空间还原类似，表空间恢复也只能在脱机状态下通过 DMRMAN 工具完成</p>
<p>表空间恢复的 REDO 日志是从本地归档日志文件中提取。表空间恢复同样要求满足归档日志覆盖 <code>[BEGIN_LSN,END_LSN]</code> 的要求</p>
<blockquote>
<p>注意：表空间恢复结束，并执行 ONLINE 表空间操作后，用户就可以访问这个表空间；但 ONLINE 操作并不会触发事务回滚，所以重做 REDO 日志产生的未 COMMIT 事务，也不会被回滚掉</p>
</blockquote>
<h4 id="dmdsc库恢复">DMDSC库恢复 </h4>
<p>DMDSC 库与普通单节点数据库的区别在于 DMDSC 库的多个节点共同维护一份库数据，每个节点上都有独立的联机日志和本地归档日志。重做 REDO 日志恢复时，需要重做所有节点上的 REDO 日志，因此需要提供各个节点的归档日志</p>
<h3 id="还原与恢复附加选项">还原与恢复附加选项 </h3>
<h4 id="解密与解压缩">解密与解压缩 </h4>
<p>解密和解压缩是备份过程中加密和压缩的逆操作</p>
<p>如果备份时进行了加密，那么还原时用户必须指定与备份时一致的加密密码和加密算法。反之则不需要指定</p>
<p>DM 还原时的解密过程主要包括：</p>
<p>1）检查用户输入的密码和算法是否与备份集中记录的加密信息一致</p>
<p>2）从备份集读取数据之后，写到目标文件（包括目标数据文件和临时归档文件）之前执行解密操作</p>
<p><strong>解压缩不需要用户干预</strong>，如果备份集指定了压缩，从备份集读取数据写到目标文件之前，会自动进行解压缩操作</p>
<p>如果备份时既指定了加密又指定了压缩，那么与备份过程处理相反，还原时会先进行解密，再进行解压缩，然后将处理后的数据写入到目标文件中</p>
<h4 id="并行还原">并行还原 </h4>
<p>指定并行备份生成的备份集，在还原时默认采用并行方式还原，并行度上限为备份时指定的并行数，实际并行度由 DMAP 最终创建成功的并行子任务数决定。目前，非并行备份生成的备份集，不支持以并行方式还原</p>
<h2 id="支持与限制">支持与限制 </h2>
<p>注：适用于达梦8版本</p>
<table>
<thead>
<tr>
<th>备份工具</th>
<th>备份方式</th>
<th>恢复工具</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>dexp</td>
<td>逻辑备份</td>
<td>dimp</td>
<td>用于数据迁移或异机还原</td>
</tr>
<tr>
<td>disql</td>
<td>物理备份</td>
<td>disql</td>
<td>热备 1.需要开启<code>DmAPService</code>服务 2.需要开启归档 3.一般用来备份，恢复只能恢复到表级别</td>
</tr>
<tr>
<td>dmrman</td>
<td>物理备份</td>
<td>dmrman</td>
<td>冷备 1.需要开启<code>DmAPService</code>服务 2.需要开启归档 3.需要数据库处于脱机状态，一般用来还原恢复</td>
</tr>
</tbody>
</table>
<blockquote>
<p><code>DmAPService</code>服务主要用于备份数据库，是系统自带的辅助服务，重启这个服务不影响业务运行</p>
</blockquote>
<p><img src="data:image/png;charset=utf-8;base64,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fr61tTUYDC4sLBiP/Pfv35/z/Ugkcvr0aZfLVdJai+jhw4cej6ezs3Nubu7MmTPZm0hlU3K0NgAARAL2Nzc353A4lrWL8epA07RUKpWzyeVyTU5OZr9baGpq8vv9hacdYymee+658+fPz83NnTp16o8//sh+UK1p2pYtW6paO7uhtQEAIBIQwvbt21ew161btyRJisfjxligzKihqampUCh05coVSZIyfyqK0tzczAoDxVizZo3b7ZYkqbOz84UXXsh+UD03N9fQ0FDV2tkNrQ0AADOGBXLjxo379+8v/fsTExOSJG3dutXn83366acej6ejoyP7bUD2FGFVVa9evbqykAP5Tp069d577126dKmzs1OSpF9++YVUNuVDawMAxFS3sLDwr7/rcktQdSvoFJ/P19raGggEjMf28Xh8dHRU1/V0Ou10Ok3/icnJyewcoLqur169urGx8fDhwzt27Ghubs75Qg5VVZubmzl5chRzQRmPpefm5oyhLF988cW+fftKXUFbobUtiP9TUBKcSEDxTK8jRgfZ3+zsrHH3L8uyaRhganx8vKura8OGDcaqZNu2bZuamipzTfEvmfHrf/75ZzqdZrxKWdHaAAABEQnYXzKZfOmll5a7V39///vvv5/58/Tp016vt9RVQyGdnZ319fVnzpzRNE2SJGNQO8qE1gYACIh5ArZ1584d48P09HRPT8+y9lVVta2tLfsFgpEdKBKJpNNp011mZ2eLqy9MHD16dGBg4MsvvySVTQXQ2gAA0RAJ2Nbff/9t5EPM3Mcv3cWLFwcHB/PLd+/eXV9fb7o8maqqQ0NDRdQXJnp6egYHB4eHh3fu3FntutgfrQ0AEA2jg+yptbW1v7/feIqvKMqy9lVV9eTJk6a3+06ns8AqxSi5NWvWHD16VJIkUtlUAK0NABAN7wTsycgalEwmY7HYzMzMsvYtkCAIlWc8qF6/fn21KyIEWhsAIBQiATtra2sbHh42nuIXGOIPKzMeVJPKpjJobQCAUIgEbKu7u/v48eOZGQIFhvhLknTixInCR9M07ebNmwW+wIzh8gkGg9WugkBobQCAOIgE7Kmvr+/IkSMulytT8j9XEnj8+HGBrcahsg+YgxnDAAAAtYVIwIZCodCxY8eWNbX37t27pnf5TqfzlVdeMT4XCAMkSVq7du3IyMjyKwsAAIDqyF12mAW9LYhOqV30XSXR2hZEp6AkOJGA4pleR2QRBQAAAEREJAAAAACIiEgAAAAAEBGRAAAAACAiIgEAAABAREQCAAAAgIiIBAAAAAAREQkAAAAAIiISAAAAAERkssZw9SoDAAAAoCzy1xhm+W4AAABARIwOAgAAAEREJAAAAACIiEgAAAAAENH/AdZdODr8Du3eAAAAAElFTkSuQmCC" alt="image-20250113160738971"></p>
<h3 id="联机">联机 </h3>
<p><strong>联机备份</strong></p>
<table>
<thead>
<tr>
<th>状态/模式</th>
<th>支持的备份类型</th>
<th>是否支持 DDL CLONE</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>MOUNT状态</td>
<td>-</td>
<td>×</td>
<td>-</td>
</tr>
<tr>
<td>SUSPEND状态</td>
<td>-</td>
<td>×</td>
<td>-</td>
</tr>
<tr>
<td>OPEN状态</td>
<td>所有备份</td>
<td>√</td>
<td>-</td>
</tr>
<tr>
<td>PRIMARY模式</td>
<td>所有备份</td>
<td>√</td>
<td>-</td>
</tr>
<tr>
<td>STANDBY模式</td>
<td>库备份、表空间备份、归档备份</td>
<td>√</td>
<td>-</td>
</tr>
<tr>
<td>MPP 环境</td>
<td>库备份、归档备份</td>
<td>√</td>
<td>各节点都会执行并生成相应的备份集</td>
</tr>
<tr>
<td>DSC 环境</td>
<td>库备份、表空间备份、表备份</td>
<td>√</td>
<td>所有节点需处于 OPEN 状态</td>
</tr>
</tbody>
</table>
<blockquote>
<p>DDL CLONE 必须备份归档，不允许指定 WITHOUT LOG</p>
</blockquote>
<p><strong>联机还原</strong></p>
<p>联机还原仅支持表级还原，对联机还原的支持与限制：</p>
<table>
<thead>
<tr>
<th>状态/模式</th>
<th>表级还原支持情况</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>MPP 和分布式数据库环境</td>
<td>×</td>
<td>-</td>
</tr>
<tr>
<td>PRIMARY 模式</td>
<td>√</td>
<td>仅限于表级还原</td>
</tr>
<tr>
<td>SUSPEND 状态</td>
<td>×</td>
<td>所有类型的还原均不支持</td>
</tr>
<tr>
<td>OPEN/NORMAL 状态</td>
<td>√</td>
<td>仅限于表级还原</td>
</tr>
</tbody>
</table>
<h3 id="脱机">脱机 </h3>
<p><strong>脱机备份</strong></p>
<p>脱机备份支持<code>库级</code>和<code>归档</code>备份</p>
<table>
<thead>
<tr>
<th>环境</th>
<th>支持的备份类型</th>
<th>是否支持 DDL_CLONE</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>MPP环境</td>
<td>库级、归档备份</td>
<td>√</td>
<td>仅当前节点执行备份操作</td>
</tr>
<tr>
<td>单机环境</td>
<td>库级、归档备份</td>
<td>√</td>
<td>-</td>
</tr>
<tr>
<td>DSC环境</td>
<td>库级备份</td>
<td>√</td>
<td>当正常节点的 CKPT_LSN 小于故障节点的 CKPT_LSN 时，不支持脱机备份</td>
</tr>
</tbody>
</table>
<p><strong>脱机还原</strong></p>
<p>脱机还原跟目标库所处的模式、状态以及集群环境（MPP 和 DSC）无关，允许库级、表空间级和归档还原</p>
<ul>
<li>不建议将备份产生的备份集与源备份库存放在同一磁盘或同一存储介质上</li>
<li>指定的备份集名称和目录名中最好不要包含中文、空格以及特殊字符</li>
</ul>
<blockquote>
<p>DM 备份还原在执行联机操作时，语句的解析执行使用的是 DM 服务器的编码方式，而文件操作使用操作系统的编码方式。因此当 DM 建库参数的编码方式与操作系统编码方式不一致时，使用中文文件名或路径名等可能造成控制台打印信息和日志文件中的信息的中文部分显示乱码</p>
</blockquote>
<h2 id="归档配置">归档配置 </h2>
<ul>
<li>归档模式：联机日志文件中的内容保存到硬盘中，形成归档日志文件</li>
<li>非归档模式：不会形成归档日志</li>
</ul>
<p><strong>归档模式会对系统的性能产生些许影响</strong>，但归档模式更安全。DM的<code>dmarch.ini</code>可以进行归档配置，但前提是<code>dm.ini</code>中的参数<code>ARCH_INI=1</code>。<code>v$dm_arch_ini</code>、<code>v$arch_status</code>等动态视图可以获取归档配置以及归档状态等信息</p>
<p><code>dmarch.ini</code>配置项含义如下</p>
<table>
<thead>
<tr>
<th style="text-align:left"><strong>配置项</strong></th>
<th style="text-align:left"><strong>配置含义</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">[ARCH_NAME]</td>
<td style="text-align:left">REDO 日志归档名</td>
</tr>
<tr>
<td style="text-align:left">ARCH_TYPE</td>
<td style="text-align:left">REDO 日志归档类型，LOCAL 表示本地归档，REMOTE 表示远程</td>
</tr>
<tr>
<td style="text-align:left">ARCH_DEST</td>
<td style="text-align:left">REDO 日志归档目标，LOCAL 对应归档文件存放路径；REMOTE 对应远程目标节点实例名</td>
</tr>
<tr>
<td style="text-align:left">ARCH_FILE_SIZE</td>
<td style="text-align:left">单个 REDO 日志归档文件大小，取值范围 64~2048，单位 MB，缺省值为 1024MB，即 1GB</td>
</tr>
<tr>
<td style="text-align:left">ARCH_SPACE_LIMIT</td>
<td style="text-align:left">REDO 日志归档空间限制，当所有本地归档文件达到限制值时，系统自动删除最老的归档文件。0 表示无空间限制，取值范围 1024~2147483647，单位 MB，缺省值为 0</td>
</tr>
<tr>
<td style="text-align:left">ARCH_FLUSH_BUF_SIZE</td>
<td style="text-align:left">归档合并刷盘缓存大小，取值范围 0~128，单位 MB，缺省值为 2，0 表示不使用归档合并刷盘</td>
</tr>
<tr>
<td style="text-align:left">ARCH_HANG_FLAG</td>
<td style="text-align:left">本地归档写入失败时系统是否挂起。取值 0 或 1。0 不挂起；1 挂起。缺省为 1。第一路本地归档系统内固定设为 1，设 0 实际也不起作用</td>
</tr>
<tr>
<td style="text-align:left">ARCH_INCOMING_PATH</td>
<td style="text-align:left">仅 REMOTE 归档有效，表示远程节点的本地归档日志文件存放路径</td>
</tr>
</tbody>
</table>
<h3 id="何时配置归档">何时配置归档 </h3>
<table>
<thead>
<tr>
<th>备份类型</th>
<th>是否必须配置归档</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>联机备份数据库</strong></td>
<td>√</td>
<td>为确保备份数据的一致性，需要同时备份备份期间产生的REDO日志，因此要求数据库必须配置本地归档且归档处于开启状态</td>
</tr>
<tr>
<td><strong>脱机备份数据库（正常退出）</strong></td>
<td>×</td>
<td>正常退出的库的备份不需要考虑本地归档日志的完整性，可以不配置归档</td>
</tr>
<tr>
<td><strong>脱机备份数据库（故障退出）</strong></td>
<td>√</td>
<td>对于故障退出的库的备份，因故障未刷盘的日志也必须存在于本地归档中，因此必须配置归档；如果本地归档缺失，需先修复归档再备份</td>
</tr>
<tr>
<td><strong>备份表空间</strong></td>
<td>√</td>
<td>属于联机备份，必须配置归档以确保数据一致性和可恢复性</td>
</tr>
<tr>
<td><strong>备份表</strong></td>
<td>×</td>
<td>联机完全备份，但不需要配置归档，因为表在还原之后不需要再进行恢复操作，用不到归档日志</td>
</tr>
<tr>
<td><strong>备份归档日志</strong></td>
<td>√</td>
<td>必须配置归档，因为此操作旨在备份归档日志本身</td>
</tr>
</tbody>
</table>
<h3 id="联机配置">联机配置 </h3>
<p>DM 支持使用 SQL 语句联机修改数据库模式和配置归档</p>
<ol>
<li>除<code>SPACE_LIMIT</code>和<code>FILE_SIZE</code>外（可在MOUNT状态NORMAL模式或OPEN状态被修改），其余配置需在MOUNT状态NORMAL模式下进行</li>
<li>增加远程归档之前，必须先配置本地归档</li>
<li><strong>联机备份时，关闭已配置的本地归档之后再重新打开，会造成归档文件中部分日志缺失</strong>，备份时检查归档文件连续性时将会报错。存在该类操作时，若要避免该错误，备份前需要调用<code>checkpoint(100)</code>主动刷新检查点</li>
</ol>
<h4 id="语法">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-ALTER">ALTER</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token operator">&lt;</span>修改数据库子句<span class="token operator">&gt;</span><span class="token punctuation">;</span>
</code></pre><pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token operator">&lt;</span>修改数据库子句<span class="token operator">&gt;</span>::<span class="token operator">=</span> <span class="token operator">&lt;</span>数据库状态<span class="token operator">&gt;</span> <span class="token operator">|</span> <span class="token operator">&lt;</span><span class="token keyword keyword-ADD">ADD</span> <span class="token operator">|</span> <span class="token keyword keyword-MODIFY">MODIFY</span> <span class="token operator">|</span> <span class="token keyword keyword-DELETE">DELETE</span><span class="token operator">&gt;</span> ARCHIVELOG <span class="token operator">&lt;</span>归档配置语句<span class="token operator">&gt;</span> <span class="token operator">|</span>
	               <span class="token comment"># 把新生成的还未归档的联机日志进行归档</span>
	               ARCHIVELOG <span class="token keyword keyword-CURRENT">CURRENT</span>

<span class="token operator">&lt;</span>数据库状态<span class="token operator">&gt;</span>::<span class="token operator">=</span>	MOUNT <span class="token operator">|</span> SUSPEND <span class="token operator">|</span> <span class="token keyword keyword-OPEN">OPEN</span> <span class="token punctuation">[</span><span class="token keyword keyword-FORCE">FORCE</span><span class="token punctuation">]</span> <span class="token operator">|</span> NORMAL <span class="token operator">|</span> <span class="token keyword keyword-PRIMARY">PRIMARY</span><span class="token operator">|</span> STANDBY <span class="token operator">|</span> ARCHIVELOG <span class="token operator">|</span> NOARCHIVELOG 

<span class="token operator">&lt;</span>归档配置语句<span class="token operator">&gt;</span>::<span class="token operator">=</span> <span class="token string">'DEST = &lt;归档目标&gt;, TYPE = &lt;归档类型&gt;'</span>

<span class="token operator">&lt;</span>归档类型<span class="token operator">&gt;</span>::<span class="token operator">=</span> <span class="token keyword keyword-LOCAL">LOCAL</span> <span class="token punctuation">[</span><span class="token operator">&lt;</span>文件和空间限制设置<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">,</span>ARCH_FLUSH_BUF_SIZE <span class="token operator">=</span> <span class="token operator">&lt;</span>归档合并刷盘缓存大小<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">,</span> HANG_FLAG<span class="token operator">=</span><span class="token operator">&lt;</span><span class="token number">0</span><span class="token operator">|</span><span class="token number">1</span><span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span>
             REMOTE <span class="token punctuation">,</span>INCOMING_PATH <span class="token operator">=</span> <span class="token operator">&lt;</span>远程归档路径<span class="token operator">&gt;</span> <span class="token operator">|</span> 

<span class="token operator">&lt;</span>文件和空间限制设置<span class="token operator">&gt;</span>::<span class="token operator">=</span><span class="token punctuation">[</span><span class="token punctuation">,</span>FILE_SIZE <span class="token operator">=</span> <span class="token operator">&lt;</span>文件大小<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">,</span>SPACE_LIMIT <span class="token operator">=</span> <span class="token operator">&lt;</span>空间大小限制<span class="token operator">&gt;</span><span class="token punctuation">]</span>
</code></pre><table>
<thead>
<tr>
<th>数据库状态</th>
<th>描述</th>
<th>用途/备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>MOUNT</td>
<td>实例已启动并读取控制文件，但数据文件和联机重做日志文件尚未打开或访问</td>
<td>执行管理任务如<code>备份控制文件</code>、<code>恢复操作</code>等，不允许用户访问数据</td>
</tr>
<tr>
<td>SUSPEND</td>
<td>暂时挂起所有新的事务处理，保持当前连接和正在执行的操作</td>
<td>暂停数据库活动以进行<code>紧急维护或检查</code>，可以通过 RESUME 命令恢复</td>
</tr>
<tr>
<td>OPEN</td>
<td>数据库完全可用（正常工作状态）</td>
<td>支持 <code>FORCE</code> 选项，用于强制打开数据库，即使存在潜在问题</td>
</tr>
<tr>
<td>NORMAL</td>
<td>与<code>OPEN</code>状态相同，表示标准的数据库开启模式</td>
<td>早期版本中用作默认的打开方式，现在通常与<code>OPEN</code>状态一起使用</td>
</tr>
<tr>
<td>PRIMARY</td>
<td>在高可用性配置中，表示<code>主数据库实例</code>，负责接收所有的写入请求，并将其更改同步到备用实例</td>
<td>适用于 Data Guard 或类似的高可用架构，确保数据冗余和灾难恢复能力</td>
</tr>
<tr>
<td>STANDBY</td>
<td><code>备用数据库实例</code>，从 PRIMARY 实例接收归档日志并应用这些更改以保持一致性</td>
<td>作为 PRIMARY 数据库的热备份，可在主数据库故障时接管服务，提供连续的数据访问</td>
</tr>
<tr>
<td>ARCHIVELOG</td>
<td>启用归档日志功能，每当联机重做日志填满时，系统会自动创建归档日志文件，记录所有已完成的事务</td>
<td>支持基于时间点的恢复，允许将数据库恢复到任意过去的时刻，增强数据保护和恢复能力</td>
</tr>
<tr>
<td>NOARCHIVELOG</td>
<td>禁用归档日志功能，联机重做日志文件在被覆盖之前不会被归档</td>
<td>简化管理，但在这种模式下只能进行完整的数据库恢复，无法实现基于时间点的恢复，可能丢失自上次备份以来的所有更改</td>
</tr>
</tbody>
</table>
<h4 id="操作示例">操作示例 </h4>
<p>联机配置归档的步骤如下：</p>
<ol>
<li>修改数据库为 MOUNT 状态 NORMAL 模式，并开启归档模式</li>
<li>增加、修改或删除归档</li>
<li>修改数据库为 OPEN 状态</li>
</ol>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 修改数据库为MOUNT状态</span>
<span class="token keyword keyword-ALTER">ALTER</span> <span class="token keyword keyword-DATABASE">DATABASE</span> MOUNT<span class="token punctuation">;</span>
<span class="token comment"># 修改为NORMAL模式</span>
<span class="token keyword keyword-ALTER">ALTER</span> <span class="token keyword keyword-DATABASE">DATABASE</span> NORMAL<span class="token punctuation">;</span>
<span class="token comment"># 开启归档模式</span>
<span class="token keyword keyword-ALTER">ALTER</span> <span class="token keyword keyword-DATABASE">DATABASE</span> ARCHIVELOG<span class="token punctuation">;</span>

<span class="token comment"># 配置本地归档</span>
<span class="token keyword keyword-ALTER">ALTER</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token keyword keyword-ADD">ADD</span> ARCHIVELOG <span class="token string">'DEST = /dmdata/dameng/arch_dsc0, TYPE = local, FILE_SIZE = 1024,SPACE_LIMIT = 2048,ARCH_FLUSH_BUF_SIZE=16,HANG_FLAG=1'</span><span class="token punctuation">;</span>

<span class="token comment"># 配置远程归档（DMDSC环境下配置）</span>
<span class="token keyword keyword-ALTER">ALTER</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token keyword keyword-ADD">ADD</span> ARCHIVELOG <span class="token string">'DEST = DSC1, TYPE = REMOTE, INCOMING_PATH = /dmdata/dameng/arch_dsc1'</span><span class="token punctuation">;</span>

<span class="token comment"># 修改数据库为OPEN状态</span>
<span class="token keyword keyword-ALTER">ALTER</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token keyword keyword-OPEN">OPEN</span><span class="token punctuation">;</span>
</code></pre><h3 id="手动配置">手动配置 </h3>
<p>手动配置归档即在<code>数据库实例未启动的情况下</code>，手动编写<code>dmarch.ini</code>文件和设置参数<code>ARCH_INI</code></p>
<p>1️⃣<strong>本地归档</strong></p>
<pre data-role="codeBlock" data-info="ini" class="language-ini ini"><code><span class="token comment">#关闭数据库</span>
<span class="token comment">#在 dm.ini 所在目录，创建 dmarch.ini 文件。dmarch.ini 文件内容如下：</span>
<span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">ARCHIVE_LOCAL1</span><span class="token punctuation">]</span></span>
<span class="token key attr-name">ARCH_TYPE</span> <span class="token punctuation">=</span> <span class="token value attr-value">LOCAL</span>
<span class="token key attr-name">ARCH_DEST</span> <span class="token punctuation">=</span> <span class="token value attr-value">/home/dm_arch/arch</span>
<span class="token key attr-name">ARCH_FILE_SIZE</span> <span class="token punctuation">=</span> <span class="token value attr-value">1024</span>
<span class="token key attr-name">ARCH_SPACE_LIMIT</span> <span class="token punctuation">=</span> <span class="token value attr-value">2048</span>

<span class="token comment">#编辑 dm.ini 文件，设置参数ARCH_INI=1</span>
<span class="token comment">#启动数据库实例，数据库已运行于归档模式。</span>
</code></pre><p>2️⃣<strong>远程归档</strong></p>
<p>远程归档步骤同本地归档，下面以两节点 DMDSC 集群为例，DSC0 和 DSC1 是 DMDSC 集群中的两个实例，交叉进行 REMOTE 归档配置：</p>
<ul>
<li>DSC0</li>
</ul>
<pre data-role="codeBlock" data-info="ini" class="language-ini ini"><code><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">ARCHIVE_LOCAL1</span><span class="token punctuation">]</span></span>
  <span class="token key attr-name">ARCH_TYPE</span>      	 <span class="token punctuation">=</span> <span class="token value attr-value">LOCAL</span>
  <span class="token key attr-name">ARCH_DEST</span>     	 <span class="token punctuation">=</span> <span class="token value attr-value">+DMDATA/dameng/arch_dsc0</span>
  <span class="token key attr-name">ARCH_FILE_SIZE</span>	 <span class="token punctuation">=</span> <span class="token value attr-value">128</span>
  <span class="token key attr-name">ARCH_SPACE_LIMIT</span>  <span class="token punctuation">=</span> <span class="token value attr-value">0</span>
  <span class="token key attr-name">ARCH_HANG_FLAG</span>	<span class="token punctuation">=</span> <span class="token value attr-value">1</span>
<span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">ARCH_REMOTE1</span><span class="token punctuation">]</span></span>
  <span class="token key attr-name">ARCH_TYPE</span>      	<span class="token punctuation">=</span> <span class="token value attr-value">REMOTE</span>
  <span class="token key attr-name">ARCH_DEST</span>      	<span class="token punctuation">=</span> <span class="token value attr-value">DSC1</span>
  <span class="token key attr-name">ARCH_INCOMING_PATH</span> <span class="token punctuation">=</span> <span class="token value attr-value">+DMDATA/dameng/arch_dsc1</span>
</code></pre><ul>
<li>DSC1</li>
</ul>
<pre data-role="codeBlock" data-info="ini" class="language-ini ini"><code><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">ARCHIVE_LOCAL1</span><span class="token punctuation">]</span></span>
  <span class="token key attr-name">ARCH_TYPE</span>     	 <span class="token punctuation">=</span> <span class="token value attr-value">LOCAL</span> 
  <span class="token key attr-name">ARCH_DEST</span>     	 <span class="token punctuation">=</span> <span class="token value attr-value">+DMDATA/dameng/arch_dsc1</span>
  <span class="token key attr-name">ARCH_FILE_SIZE</span>	 <span class="token punctuation">=</span> <span class="token value attr-value">128</span>
  <span class="token key attr-name">ARCH_SPACE_LIMIT</span>   <span class="token punctuation">=</span> <span class="token value attr-value">0</span> 
  <span class="token key attr-name">ARCH_HANG_FLAG</span>     <span class="token punctuation">=</span> <span class="token value attr-value">1</span>
<span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">ARCH_REMOTE1</span><span class="token punctuation">]</span></span>
  <span class="token key attr-name">ARCH_TYPE</span>     	 <span class="token punctuation">=</span> <span class="token value attr-value">REMOTE</span>
  <span class="token key attr-name">ARCH_DEST</span>     	 <span class="token punctuation">=</span> <span class="token value attr-value">DSC0</span>
  <span class="token key attr-name">ARCH_INCOMING_PATH</span> <span class="token punctuation">=</span> <span class="token value attr-value">+DMDATA/dameng/arch_dsc0</span>
</code></pre><p><img src="data:image/png;charset=utf-8;base64,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" alt="image-20250106100325549"></p>
<h2 id="联机备份">联机备份 </h2>
<p>DM 支持通过联机执行 SQL 语句方式对数据库执行备份还原操作（BAK_USE_AP 用于设置备份方式）</p>
<p><strong>在进行联机库级备份、归档备份、表空间备份时，必须保证系统处于归档模式，否则联机备份不能进行</strong></p>
<h3 id="数据库备份">数据库备份 </h3>
<p>联机进行数据库备份时，数据库需要<strong>配置归档</strong>且保证数据库处于<strong>OPEN状态</strong>，默认备份路径为<code>dm.ini</code>中<code>BAK_PATH</code>配置的路径，若未配置则使用<code>SYSTEM_PATH</code>下的<code>bak</code>目录</p>
<h4 id="语法-1">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span>

<span class="token comment"># 备份类型：全备、仅拷贝所有的元数据不拷贝数据（数据库克隆）、只备份源库SYSTEM.DBF及日志相关信息（影子备份）、增备</span>
<span class="token punctuation">[</span> <span class="token keyword keyword-FULL">FULL</span> <span class="token operator">|</span> <span class="token punctuation">[</span><span class="token keyword keyword-FULL">FULL</span><span class="token punctuation">]</span> DDL_CLONE <span class="token operator">|</span> <span class="token punctuation">[</span><span class="token keyword keyword-FULL">FULL</span><span class="token punctuation">]</span> SHADOW <span class="token operator">|</span> INCREMENT <span class="token operator">&lt;</span>increment_statement<span class="token operator">&gt;</span> <span class="token punctuation">]</span>

<span class="token comment"># 指定备份集子句</span>
<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> BACKUPDIR ‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’{<span class="token punctuation">,</span>‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’}<span class="token punctuation">]</span>

<span class="token comment"># 指定备份名称</span>
<span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> <span class="token operator">|</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 备份集路径子句，指定备份集生成路径（相对路径相对于BAK_PATH配置路径）</span>
<span class="token punctuation">[</span>BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> FORMAT <span class="token string">'&lt;备份集路径格式串&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token comment"># 添加备份描述              # 最大备份片大小上限</span>
<span class="token punctuation">[</span>BACKUPINFO <span class="token string">'&lt;备份描述&gt;'</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>MAXPIECESIZE <span class="token operator">&lt;</span>备份片限制大小<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 限制备份时读/写速度上限，取值范围 0~2147483647，单位为 MB/S，0 表示无限制</span>
<span class="token punctuation">[</span><span class="token keyword keyword-LIMIT">LIMIT</span> <span class="token keyword keyword-READ">READ</span> SPEED <span class="token operator">&lt;</span>读速度上限<span class="token operator">&gt;</span> <span class="token punctuation">[</span><span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 备份加密</span>
<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> ENCRYPTION <span class="token operator">&lt;</span><span class="token keyword keyword-TYPE">TYPE</span><span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 备份压缩</span>
<span class="token punctuation">[</span>COMPRESSED <span class="token punctuation">[</span><span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>压缩级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 是否备份联机日志    # 是否备份镜像文件</span>
<span class="token punctuation">[</span>WITHOUT LOG<span class="token punctuation">]</span>      <span class="token punctuation">[</span>WITHOUT MIRROR<span class="token punctuation">]</span>

<span class="token punctuation">[</span>TRACE <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;TRACE文件名&gt;'</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>TRACE <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>TRACE日志级别<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span> TASK THREAD <span class="token operator">&lt;</span>线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>PARALLEL <span class="token punctuation">[</span><span class="token operator">&lt;</span>并行数<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span><span class="token keyword keyword-READ">READ</span> SIZE <span class="token operator">&lt;</span>拆分块大小<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 指定备份的起始 LSN。起始 LSN 必须小于等于检查点 LSN，用户可以手动刷新检查点 LSN（仅支持库级增量备份）</span>
<span class="token operator">&lt;</span>increment_statement<span class="token operator">&gt;</span>::<span class="token operator">=</span> <span class="token punctuation">[</span><span class="token keyword keyword-FROM">FROM</span> LSN <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>CUMULATIVE<span class="token punctuation">]</span> <span class="token punctuation">[</span>BASE <span class="token keyword keyword-ON">ON</span> BACKUPSET <span class="token string">'&lt;基备份目录&gt;'</span><span class="token punctuation">]</span>
</code></pre><ul>
<li>部分重要参数</li>
</ul>
<table>
<thead>
<tr>
<th>配置项</th>
<th>配置含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>MAXPIECESIZE</td>
<td>最大备份片大小上限（MB）128MB~128GB，默认最大值</td>
</tr>
<tr>
<td>LIMIT</td>
<td>备份时最大读写速度，MB/S，默认为0表示无限制</td>
</tr>
<tr>
<td>WITH ENCRYPTION</td>
<td>指定加密类型（0、1默认、2）<br>1 表示简单加密，对备份文件设置口令，但文件内容仍以明文方式存储<br>2 表示完全数据加密，对备份文件进行完全的加密，备份文件以密文方式存储</td>
</tr>
<tr>
<td>COMPRESSED</td>
<td>是否对备份数据进行压缩处理。LEVEL 表示压缩等级，取值范围 0~9<br>0 表示不压缩；1 表示 1 级压缩；9 表示 9 级压缩<br>压缩级别越高，压缩速度越慢，但压缩比越高<br>若指定 COMPRESSED，但未指定 LEVEL，则压缩等级默认 1<br>若未指定 COMPRESSED，则默认不进行压缩处理</td>
</tr>
<tr>
<td>WITHOUT LOG</td>
<td>联机数据库备份是否备份联机日志。如果使用，则表示不备份，否则表示备份。如果使用了 WITHOUT LOG 参数，则使用 DMRMAN 工具还原时，必须指定 WITH ARCHIVEDIR 参数</td>
</tr>
<tr>
<td>WITHOUT MIRROR</td>
<td>联机数据库备份是否备份镜像文件。如果使用，则表示不备份，否则表示备份</td>
</tr>
<tr>
<td>TRACE FILE</td>
<td>指定生成的 TRACE 文件。启用 TRACE，但不指定 TRACE FILE 时，默认在 DM 数据库系统的 log 目录下生成 DM_SBTTRACE_年月日_时_分_秒.log 文件；若使用相对路径，则生成在执行码同级的 log 目录下。如果指定的 TRACE 文件已存在，不会覆盖已存在的文件而是在已有文件基础上继续记录日志。TRACE FILE 不可以为 ASM 文件。如果没有指定的 TRACE FILE 路径的读写权限，则跳过 TRACE FILE 的创建，不影响备份的进行</td>
</tr>
<tr>
<td>TRACE LEVEL</td>
<td>是否启用 TRACE。有效值 1、2，默认为 1 表示不启用 TRACE；为 2 启用 TRACE 并在 TRACE 文件中写入 TRACE 相关内容</td>
</tr>
<tr>
<td>TASK_THREAD</td>
<td>备份过程中数据处理过程线程的个数，取值范围 0~64，默认为 4。若指定为 0，则调整为 1；若指定超过当前系统主机核数，则调整为主机核数<br><code>线程数（TASK THREAD）*并行数（PARALLEL）&lt;= 512</code></td>
</tr>
<tr>
<td>PARALLEL</td>
<td>指定并行备份的并行数和拆分块大小（0~128）不指定行数默认为4，不指定PARALLEL关键字为非并行备份<br><code>线程数（TASK THREAD）*并行数（PARALLEL）&lt;= 512</code></td>
</tr>
<tr>
<td>READ SIZE</td>
<td>指定并行备份大数据量的数据文件时的拆分块大小，默认为 1GB，最小为 512MB，当指定的拆分块大小小于 512MB 时，系统会自动调整为 512MB。当数据文件的大小小于拆分块大小时，不执行拆分；当数据文件的大小大于拆分块大小时，执行拆分。并行数不能大于拆分之后的总块数。</td>
</tr>
<tr>
<td>CUMULATIVE</td>
<td>用于<code>增量备份</code>中，指明为累积增量备份类型，若不指定则缺省为差异增量备份类型</td>
</tr>
<tr>
<td><code>WITH BACKUPDIR</code></td>
<td>用于<code>增量备份</code>中，指定<code>基备份的搜索目录</code>，最大长度为 256 个字节。若缺省，自动在以下路径中搜索：默认备份目录（即 BAK_PATH 配置的路径）、当前备份集目录（即 BACKUPSET 指定的路径，例如 BACKUPSET 'D:\ bakrman\db_bak'的路径）、当前备份集目录的上一级目录（例如'D:\bakrman'）搜索基备份。如果基备份不在上述路径下，增量备份必须指定该参数</td>
</tr>
<tr>
<td><code>BASE ON BACKUPSET</code></td>
<td>用于<code>增量备份</code>中，明确指定基备份集的准确路径，直接告诉系统使用哪个具体的备份集作为基备份</td>
</tr>
</tbody>
</table>
<blockquote>
<p><code>WITH BACKUPDIR</code> 和 <code>BASE ON BACKUPSET</code> 这两个参数通常不会同时使用（造成逻辑冲突）</p>
</blockquote>
<ul>
<li>FORMAT占位符规则</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align:left"><strong>序号</strong></th>
<th style="text-align:left"><strong>占位符</strong></th>
<th style="text-align:left"><strong>描述</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">1</td>
<td style="text-align:left">%I</td>
<td style="text-align:left">数据库魔数</td>
</tr>
<tr>
<td style="text-align:left">2</td>
<td style="text-align:left">%P</td>
<td style="text-align:left">数据库持久魔数</td>
</tr>
<tr>
<td style="text-align:left">3</td>
<td style="text-align:left">%s</td>
<td style="text-align:left">备份集魔数</td>
</tr>
<tr>
<td style="text-align:left">4</td>
<td style="text-align:left">%d</td>
<td style="text-align:left">数据库名称</td>
</tr>
<tr>
<td style="text-align:left">5</td>
<td style="text-align:left">%N</td>
<td style="text-align:left">表空间名称</td>
</tr>
<tr>
<td style="text-align:left">6</td>
<td style="text-align:left">%L</td>
<td style="text-align:left">表名称</td>
</tr>
<tr>
<td style="text-align:left">7</td>
<td style="text-align:left">%c</td>
<td style="text-align:left">生成备份集的通道 ID，仅通道的 FORMAT 配置有效</td>
</tr>
<tr>
<td style="text-align:left">8</td>
<td style="text-align:left">%Y</td>
<td style="text-align:left">备份时间的年，格式为 YYYY</td>
</tr>
<tr>
<td style="text-align:left">9</td>
<td style="text-align:left">%M</td>
<td style="text-align:left">备份时间的月，格式为 MM</td>
</tr>
<tr>
<td style="text-align:left">10</td>
<td style="text-align:left">%D</td>
<td style="text-align:left">备份时间的日，格式为 DD</td>
</tr>
<tr>
<td style="text-align:left">11</td>
<td style="text-align:left">%T</td>
<td style="text-align:left">备份时间的年月日，格式为 YYYYMMDD</td>
</tr>
<tr>
<td style="text-align:left">12</td>
<td style="text-align:left">%H</td>
<td style="text-align:left">备份时间的小时 + 分钟 + 秒</td>
</tr>
<tr>
<td style="text-align:left">13</td>
<td style="text-align:left">%S</td>
<td style="text-align:left">份时间的毫秒</td>
</tr>
<tr>
<td style="text-align:left">14</td>
<td style="text-align:left">%t</td>
<td style="text-align:left">备份集时间戳，格式为 <code>%T_%H_%S</code></td>
</tr>
<tr>
<td style="text-align:left">15</td>
<td style="text-align:left">%R</td>
<td style="text-align:left">备份范围。DB：库备份；TS：表空间备份；TAB：表备份；ARCH：归档备份；SPFILE：镜像备份</td>
</tr>
<tr>
<td style="text-align:left">16</td>
<td style="text-align:left">%E</td>
<td style="text-align:left">备份类型。FULL：完全备份；INCREMENT：增量备份</td>
</tr>
<tr>
<td style="text-align:left">17</td>
<td style="text-align:left">%U</td>
<td style="text-align:left">根据备份范围，默认是<code>%R_%d_%E_%t</code>等形式，通道配置的 Format 最后添加_%c</td>
</tr>
</tbody>
</table>
<h4 id="全量备份">全量备份 </h4>
<ul>
<li>设置联机数据库备份集路径、备份名、描述信息（手动全指定备份集路径）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token punctuation">[</span><span class="token keyword keyword-FULL">FULL</span><span class="token punctuation">]</span> <span class="token keyword keyword-TO">TO</span> WEEKLY_FULL_BAK BACKUPSET <span class="token string">'/home/dm_bak/db_bak_3_01'</span> BACKUPINFO <span class="token string">'完全备份'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>数据库名DAMENG，在2023年11月13日执行一次数据库备份，实际路径/home/dm_bak/DB_DAMENG_20231113</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token punctuation">[</span><span class="token keyword keyword-FULL">FULL</span><span class="token punctuation">]</span> BACKUPNAME WEEKLY_FULL_BAK FORMAT <span class="token string">'/home/dm_bak/%R_%d_%T'</span> BACKUPINFO <span class="token string">'完全备份'</span><span class="token punctuation">;</span>
</code></pre><h4 id="增量备份">增量备份 </h4>
<ul>
<li>增备需要指定基备份目录（<code>WITH BACKUPDIR</code>）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> INCREMENT <span class="token keyword keyword-WITH">WITH</span> BACKUPDIR <span class="token string">'/home/dm_bak'</span> BACKUPSET <span class="token string">'/home/dm_bak/db_increment_bak_02'</span><span class="token punctuation">;</span>
</code></pre><h4 id="备份选项">备份选项 </h4>
<ul>
<li>设置联机数据库备份集路径</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 指定备份集路径为 /home/dm_bak/db_bak_3_01</span>
<span class="token comment"># BACKUPSET 参数用于指定备份集的输出路径</span>
<span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPSET <span class="token string">'/home/dm_bak/db_bak_3_01'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>添加备份描述</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 创建备份为备份集添加描述信息为“完全备份”</span>
<span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPSET <span class="token string">'/home/dm_bak/db_bak_3_04'</span> BACKUPINFO  <span class="token string">'完全备份'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>限制备份片大小</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># MAXPIECESIZE 参数用于控制单个备份片的大小，不能大于磁盘剩余空间大小，否则报错磁盘空间不足</span>
<span class="token comment"># 创建备份限制备份片大小为300M</span>
<span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPSET <span class="token string">'/home/dm_bak/db_bak_3_05'</span> MAXPIECESIZE <span class="token number">300</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份压缩</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 执行备份压缩，压缩级别设置为 5</span>
<span class="token comment"># 压缩选项有不同的压缩级别可以选择，取值范围为 0~9。应根据存储空间、数据文件大小等确定合适地压缩级别</span>
<span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPSET <span class="token string">'/home/dm_bak/db_bak_3_06'</span> COMPRESSED <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token number">5</span><span class="token punctuation">;</span>
</code></pre><h3 id="表空间备份-1">表空间备份 </h3>
<p>同备份数据库，执行表空间备份数据库实例也必须运行在<code>归档模式</code>下，且表空间仅支持联机备份</p>
<h4 id="语法-2">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 除temp表空间</span>
<span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> <span class="token operator">&lt;</span>表空间名<span class="token operator">&gt;</span> 

<span class="token punctuation">[</span><span class="token keyword keyword-FULL">FULL</span> <span class="token operator">|</span> INCREMENT <span class="token punctuation">[</span>CUMULATIVE<span class="token punctuation">]</span> <span class="token punctuation">[</span>BASE <span class="token keyword keyword-ON">ON</span> BACKUPSET <span class="token string">'&lt;基备份目录&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 指定备份集子句</span>
<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> BACKUPDIR ‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’{<span class="token punctuation">,</span>‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’}<span class="token punctuation">]</span>

<span class="token comment"># 指定备份名称</span>
<span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> <span class="token operator">|</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 备份集路径子句，指定备份集生成路径（相对路径相对于BAK_PATH配置路径）</span>
<span class="token punctuation">[</span>BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> FORMAT <span class="token string">'&lt;备份集路径格式串&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token comment"># 添加备份描述              # 最大备份片大小上限</span>
<span class="token punctuation">[</span>BACKUPINFO <span class="token string">'&lt;备份描述&gt;'</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>MAXPIECESIZE <span class="token operator">&lt;</span>备份片限制大小<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 限制备份时读/写速度上限，取值范围 0~2147483647，单位为 MB/S，0 表示无限制</span>
<span class="token punctuation">[</span><span class="token keyword keyword-LIMIT">LIMIT</span> <span class="token keyword keyword-READ">READ</span> SPEED <span class="token operator">&lt;</span>读速度上限<span class="token operator">&gt;</span> <span class="token punctuation">[</span><span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 备份加密</span>
<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> ENCRYPTION <span class="token operator">&lt;</span><span class="token keyword keyword-TYPE">TYPE</span><span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 备份压缩</span>
<span class="token punctuation">[</span>COMPRESSED <span class="token punctuation">[</span><span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>压缩级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 是否备份联机日志    # 是否备份镜像文件</span>
<span class="token punctuation">[</span>WITHOUT LOG<span class="token punctuation">]</span>      <span class="token punctuation">[</span>WITHOUT MIRROR<span class="token punctuation">]</span>

<span class="token punctuation">[</span>TRACE <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;TRACE文件名&gt;'</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>TRACE <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>TRACE日志级别<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span> TASK THREAD <span class="token operator">&lt;</span>线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>PARALLEL <span class="token punctuation">[</span><span class="token operator">&lt;</span>并行数<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span><span class="token keyword keyword-READ">READ</span> SIZE <span class="token operator">&lt;</span>拆分块大小<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><h4 id="全量备份-1">全量备份 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN <span class="token punctuation">[</span><span class="token keyword keyword-FULL">FULL</span><span class="token punctuation">]</span> BACKUPSET <span class="token string">'/home/dm_bak/ts_full_bak_01'</span><span class="token punctuation">;</span>
</code></pre><h4 id="增量备份-1">增量备份 </h4>
<ul>
<li>先进行一次全备</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN BACKUPSET <span class="token string">'ts_full_bak_01'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li><code>ts_increment_bak_01</code>未指定基备份，会以最近一次备份作为其基备份（此处为<code>ts_full_bak_01</code>）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN INCREMENT BACKUPSET <span class="token string">'ts_increment_bak_01'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li><code>BASE ON BACKUPSET</code>参数用于增量备份中，用来指定基备份集路径</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN INCREMENT BASE <span class="token keyword keyword-ON">ON</span> BACKUPSET <span class="token string">'ts_full_bak_01'</span> BACKUPSET <span class="token string">'ts_increment_bak_02'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li><code>WITH BACKUPDIR</code>参数用来指定基备份集的搜索目录，如果基备份集不在默认备份目录或当前备份目录则该参数不可省略</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN INCREMENT <span class="token keyword keyword-WITH">WITH</span> BACKUPDIR <span class="token string">'/home/dm_bak'</span> BACKUPSET <span class="token string">'/home/dm_bak/ts_increment_bak_02'</span><span class="token punctuation">;</span>
</code></pre><h3 id="表备份-1">表备份 </h3>
<p>拷贝指定表所使用的所有数据页到备份集中，并记录各个数据页之间的逻辑关系用来恢复表数据结构</p>
<ul>
<li>表备份均为<strong>联机完全备份</strong>，不需要备份归档日志</li>
<li>表无增量备份</li>
<li>数据库中某张表比较重要而又没必要备份整个数据库或表空间时就可以选择表备份</li>
</ul>
<h4 id="语法-3">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 指定备份的表，只能备份用户表</span>
<span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLE">TABLE</span> <span class="token operator">&lt;</span>表名<span class="token operator">&gt;</span> 

<span class="token comment"># 指定备份名称</span>
<span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> <span class="token operator">|</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 备份集路径子句，指定备份集生成路径（相对路径相对于BAK_PATH配置路径）</span>
<span class="token punctuation">[</span>BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> FORMAT <span class="token string">'&lt;备份集路径格式串&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token comment"># 添加备份描述</span>
<span class="token punctuation">[</span>BACKUPINFO <span class="token string">'&lt;备份描述&gt;'</span><span class="token punctuation">]</span>

<span class="token comment"># 最大备份片大小上限</span>
<span class="token punctuation">[</span>MAXPIECESIZE <span class="token operator">&lt;</span>备份片限制大小<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 限制备份时读/写速度上限，取值范围 0~2147483647，单位为 MB/S，0 表示无限制</span>
<span class="token punctuation">[</span><span class="token keyword keyword-LIMIT">LIMIT</span> <span class="token keyword keyword-READ">READ</span> SPEED <span class="token operator">&lt;</span>读速度上限<span class="token operator">&gt;</span> <span class="token punctuation">[</span><span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 备份加密</span>
<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> ENCRYPTION <span class="token operator">&lt;</span><span class="token keyword keyword-TYPE">TYPE</span><span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 备份压缩</span>
<span class="token punctuation">[</span>COMPRESSED <span class="token punctuation">[</span><span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>压缩级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>TRACE <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;TRACE文件名&gt;'</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>TRACE <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>TRACE日志级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><h4 id="全量备份-2">全量备份 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_01 BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_01'</span><span class="token punctuation">;</span>
</code></pre><h3 id="归档日志备份">归档日志备份 </h3>
<p>归档备份前提：</p>
<ul>
<li>必须配置归档</li>
<li>归档文件的<code>db_magic</code>、<code>permanent_magic</code>值和库的<code>db_magic</code>、<code>permanent_magic</code>值必须一样</li>
<li>归档日志必须连续，如果出现不连续的情况，前面的连续部分会忽略，仅备份最新的连续部分。如果备份时未收集到指定范围内的归档，则直接报错</li>
<li>联机备份的时候经常会切换归档文件，最后一个归档总是空的，所以最后一个归档不会被备份</li>
</ul>
<h4 id="语法-4">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token operator">&lt;</span>ARCHIVE LOG <span class="token operator">|</span>ARCHIVELOG<span class="token operator">&gt;</span> 

<span class="token punctuation">[</span>
 <span class="token keyword keyword-ALL">ALL</span> <span class="token operator">|</span> 
 <span class="token punctuation">[</span><span class="token keyword keyword-FROM">FROM</span> LSN <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>UNTIL LSN <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>LSN <span class="token operator">BETWEEN</span> <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span> <span class="token operator">AND</span> <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span>
 <span class="token punctuation">[</span><span class="token keyword keyword-FROM">FROM</span> <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>UNTIL <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span><span class="token keyword keyword-TIME">TIME</span> <span class="token operator">BETWEEN</span><span class="token string">'&lt;time&gt;'</span><span class="token operator">&gt;</span> <span class="token operator">AND</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span>
<span class="token punctuation">]</span>

<span class="token comment"># 搜索过滤。搜索过滤仅限于根据备份指定条件能找到的所有归档备份集&lt;not_backedup_spec&gt;</span>
<span class="token punctuation">[</span> <span class="token operator">NOT</span> BACKED UP <span class="token punctuation">[</span><span class="token operator">&lt;</span>num<span class="token operator">&gt;</span> TIMES<span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span>SINCE <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;datetime_string&gt;'</span><span class="token punctuation">]</span> <span class="token punctuation">]</span>

<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> BACKUPDIR ‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’{<span class="token punctuation">,</span>‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’}<span class="token punctuation">]</span>

<span class="token comment"># 备份完成后是否删除归档     # 指定备份名称</span>
<span class="token punctuation">[</span><span class="token keyword keyword-DELETE">DELETE</span> INPUT<span class="token punctuation">]</span>            <span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> <span class="token operator">|</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 备份集路径子句，指定备份集生成路径（相对路径相对于BAK_PATH配置路径）</span>
<span class="token punctuation">[</span>BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> FORMAT <span class="token string">'&lt;备份集路径格式串&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token comment"># 添加备份描述              # 最大备份片大小上限</span>
<span class="token punctuation">[</span>BACKUPINFO <span class="token string">'&lt;备份描述&gt;'</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>MAXPIECESIZE <span class="token operator">&lt;</span>备份片限制大小<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 限制备份时读/写速度上限，取值范围 0~2147483647，单位为 MB/S，0 表示无限制</span>
<span class="token punctuation">[</span><span class="token keyword keyword-LIMIT">LIMIT</span> <span class="token keyword keyword-READ">READ</span> SPEED <span class="token operator">&lt;</span>读速度上限<span class="token operator">&gt;</span> <span class="token punctuation">[</span><span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 备份加密</span>
<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> ENCRYPTION <span class="token operator">&lt;</span><span class="token keyword keyword-TYPE">TYPE</span><span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 备份压缩                       # 只是语法支持，不起任何作用</span>
<span class="token punctuation">[</span>COMPRESSED <span class="token punctuation">[</span><span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>压缩级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>WITHOUT LOG<span class="token punctuation">]</span>

<span class="token punctuation">[</span>TRACE <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;TRACE文件名&gt;'</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>TRACE <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>TRACE日志级别<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span>TASK THREAD <span class="token operator">&lt;</span>线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>PARALLEL <span class="token punctuation">[</span><span class="token operator">&lt;</span>并行数<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span><span class="token keyword keyword-READ">READ</span> SIZE <span class="token operator">&lt;</span>拆分块大小<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><table>
<thead>
<tr>
<th>配置项</th>
<th>配置含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>ALL</td>
<td>备份所有的归档。若不指定，则默认为 ALL</td>
</tr>
<tr>
<td>FROM LSN</td>
<td>指定备份的起始 lsn</td>
</tr>
<tr>
<td>UNTIL LSN</td>
<td>指定备份的截止 lsn</td>
</tr>
<tr>
<td>FROM TIME</td>
<td>指定备份的开始的时间点</td>
</tr>
<tr>
<td>UNTIL TIME</td>
<td>指定备份的截止的时间点</td>
</tr>
<tr>
<td>BETWEEN ... AND ...</td>
<td>指定备份的区间。指定区间后，只会备份指定区间内的归档文件</td>
</tr>
<tr>
<td>DELETE INPUT</td>
<td>用于指定备份完成之后，是否删除归档操作</td>
</tr>
<tr>
<td>&lt;not_backedup_spec&gt;</td>
<td>搜索过滤。搜索过滤仅限于根据备份指定条件能找到的所有归档备份集<br>1）num TIMES，num 取值范围为 0~2147483647，指若归档文件已经备份了 num 次，则不再备份；否则备份。如 num=3，则认为已经备份了 3 次的归档文件就不再备份。若 num=0，则认为所有归档文件都不需要备份<br>2）SINCE TIME 'datetime_string'，对指定时间 datetime_string 开始没有备份的归档文件进行备份<br>3）若以上两个参数均未指定，则备份所有未备份过的归档日志文件</td>
</tr>
</tbody>
</table>
<blockquote>
<ul>
<li>归档日志的有效LSN范围（起始LSN，截止LSN）可以通过<code>V$ARCH_FILE</code>查看，或者通过dmclvt工具分析日志的结果查看</li>
<li>如果用户无法确定准确的LSN，也可以指定一个模糊的LSN值，取值范围1~9223372036854775807。只要指定的FROM LSN、UNTIL LSN与有效LSN范围有重叠部分，就会备份包含重叠部分的完整日志文件</li>
</ul>
</blockquote>
<h4 id="归档备份-1">归档备份 </h4>
<ul>
<li>确定 LSN 范围</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-SELECT">SELECT</span> ARCH_LSN<span class="token punctuation">,</span> CLSN<span class="token punctuation">,</span> PATH <span class="token keyword keyword-FROM">FROM</span> V$ARCH_FILE<span class="token punctuation">;</span>


ARCH_LSN  CLSN    PATH
<span class="token comment">-------- ------- --------</span>
<span class="token number">38758</span>	  <span class="token number">40301</span>   d:\arch\ARCHIVE_LOCAL1_20180727105417748<span class="token punctuation">.</span>log
<span class="token number">40302</span>	  <span class="token number">40303</span>	  d:\arch\ARCHIVE_LOCAL1_20180727111411079<span class="token punctuation">.</span>log
<span class="token number">40304</span>	  <span class="token number">40305</span>	  d:\arch\ARCHIVE_LOCAL1_20180727111513679<span class="token punctuation">.</span>log
……
<span class="token number">50412</span>	  <span class="token number">50413</span>	  d:\arch\ARCHIVE_LOCAL1_20180727171801098<span class="token punctuation">.</span>log
<span class="token number">50414</span>	  <span class="token number">50478</span>	  d:\arch\ARCHIVE_LOCAL1_20180727171849712<span class="token punctuation">.</span>log
……

<span class="token comment"># 通过查询结果选出备份的起始LSN和截至LSN。比如50414	50478</span>
</code></pre><ul>
<li>备份指定LSN范围归档</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> ARCHIVELOG LSN <span class="token operator">BETWEEN</span> <span class="token number">50414</span> <span class="token operator">AND</span> <span class="token number">50478</span> BACKUPSET <span class="token string">'/home/dm_bak/arch_bak_time_14-78'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份全部</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> ARCHIVE LOG <span class="token keyword keyword-ALL">ALL</span> BACKUPSET <span class="token string">'arch_bak_01'</span><span class="token punctuation">;</span>
</code></pre><h3 id="管理备份">管理备份 </h3>
<blockquote>
<p>详细管理备份官网文档：<a href="https://eco.dameng.com/document/dm/zh-cn/pm/backup-restore-combat.html#3.2.4%20%E7%AE%A1%E7%90%86%E5%A4%87%E4%BB%BD">管理备份</a></p>
</blockquote>
<p>管理备份一个重要的目的是删除不再需要的备份，DM 没有提供自动删除过期备份的功能，删除备份需要手动执行</p>
<h4 id="备份目录管理">备份目录管理 </h4>
<ul>
<li>添加备份目录</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">-- 函数 SF_BAKSET_BACKUP_DIR_ADD (device_type，backup_dir) 用于添加备份目录</span>

<span class="token comment">-- 使用方法：</span>
<span class="token keyword keyword-SELECT">SELECT</span> SF_BAKSET_BACKUP_DIR_ADD<span class="token punctuation">(</span><span class="token string">'DISK'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>删除备份目录</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">-- 函数 SF_BAKSET_BACKUP_DIR_REMOVE (device_type，backup_dir) 用于删除备份目录</span>

<span class="token comment">-- 使用方法：</span>
<span class="token keyword keyword-SELECT">SELECT</span> SF_BAKSET_BACKUP_DIR_REMOVE<span class="token punctuation">(</span><span class="token string">'DISK'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>清理全部备份目录</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">-- 函数 SF_BAKSET_BACKUP_DIR_REMOVE_ALL () 用于清理全部备份目录</span>

<span class="token comment">-- 使用方法：</span>
<span class="token keyword keyword-SELECT">SELECT</span> SF_BAKSET_BACKUP_DIR_REMOVE_ALL<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><h4 id="备份集校验与删除">备份集校验与删除 </h4>
<ul>
<li>备份集校验</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">-- SF_BAKSET_CHECK (device_type，backup_dir)，正确返回1、反之报错</span>
<span class="token keyword keyword-SELECT">SELECT</span>  SF_BAKSET_CHECK <span class="token punctuation">(</span><span class="token string">'DISK'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak/db_bak_for_check'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份集删除</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">-- 删除指定设备类型和指定备份集目录地备份集</span>
SF_BAKSET_REMOVE

<span class="token comment">-- 批量删除满足指定条件的所有备份集</span>
SF_BAKSET_REMOVE_BATCH

<span class="token comment">-- 批量删除指定时间之前的数据库备份集</span>
SP_DB_BAKSET_REMOVE_BATCH

<span class="token comment">-- 批量删除指定表空间对象及指定时间之前的表空间备份集</span>
SP_TS_BAKSET_REMOVE_BATCH

<span class="token comment">-- 批量删除指定表对象及指定时间之前的表备份集。</span>
SP_TAB_BAKSET_REMOVE_BATCH

<span class="token comment">-- 批量删除指定时间之前的归档备份集。</span>
SP_ARCH_BAKSET_REMOVE_BATCH
</code></pre><h2 id="联机还原">联机还原 </h2>
<h3 id="表还原-1">表还原 </h3>
<p><strong>DM 仅支持表的联机还原</strong>。数据库、表空间和归档日志的还原必须通过脱机工具 DMRMAN 执行</p>
<ul>
<li>执行表还原，数据库必须处于 OPEN 状态</li>
<li>MOUNT 和 SUSPEND 状态下不允许执行表还原</li>
<li>表还原是联机完全备份还原，所以不需要借助本地归档日志进行恢复，即表还原不需要配置归档</li>
</ul>
<h4 id="语法-5">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> <span class="token punctuation">[</span><span class="token operator">&lt;</span>表名<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>STRUCT<span class="token punctuation">]</span> <span class="token punctuation">[</span>KEEP TRXID<span class="token punctuation">]</span>

<span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span>TRACE <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;TRACE文件名&gt;'</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>TRACE <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>TRACE日志级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><table>
<thead>
<tr>
<th>配置项</th>
<th>配置项含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>STRUCT</td>
<td>执行表结构还原，若未指定，则认为是表中数据还原；<br>表数据还原要求还原目标表结构与备份集中完全一致，否则报错，所以表结构还原可以在表数据还原之前执行，减少报错</td>
</tr>
<tr>
<td>KEEP TRXID</td>
<td>指定还原后数据页上记录的 TRXID 保持不变，若发现备份时系统最大的 TRXID 大于等于当前系统的最大 TRXID，则将当前系统最大事务 ID+1000。调整后副作用：rec_id &gt;= next_trxid 的记录，或者 rec_id &lt;= bak_max_trxid + 1000 的记录，可能因为执行了表还原，导致查询结果不正确，原本不可见的数据，变得可见了</td>
</tr>
</tbody>
</table>
<h4 id="表数据还原">表数据还原 </h4>
<ul>
<li>保证数据库为 OPEN 状态，创建<code>待备份</code>的表</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_01<span class="token punctuation">(</span>C1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份表数据</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_01 BACKUPNAME TABLE_BAK_01 BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_01'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>校验备份（可选）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-SELECT">SELECT</span> SF_BAKSET_CHECK<span class="token punctuation">(</span><span class="token string">'DISK'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak/tab_bak_for_res_01'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原表数据</li>
</ul>
<p>可以指定备份集路径进行还原：</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_01 <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_01'</span><span class="token punctuation">;</span>
</code></pre><p>也可以指定备份名称进行还原：</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_01 <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME TABLE_BAK_01<span class="token punctuation">;</span>
</code></pre><h4 id="含索引约束表还原">含索引/约束表还原 </h4>
<ul>
<li>保证数据库为 OPEN 状态，创建待备份的表</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_02<span class="token punctuation">(</span>C1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>创建索引</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-INDEX">INDEX</span> I_TAB_FOR_RES_02 <span class="token keyword keyword-ON">ON</span> TAB_FOR_RES_02<span class="token punctuation">(</span>C1<span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份表</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_02 BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>校验备份（可选）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-SELECT">SELECT</span> SF_BAKSET_CHECK<span class="token punctuation">(</span><span class="token string">'DISK'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li><code>执行表结构还原</code>，还原表中存在二级索引或冗余约束（表备份和目标表中都包含索引，如果直接执行表数据还原会报错）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_02 STRUCT <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li><code>执行表数据还原</code></li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_02 <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">;</span>
</code></pre><h4 id="还原时不重建索引">还原时不重建索引 </h4>
<p>表备份时会默认备份表中的索引，还原时使用<code>RESTORE TABLE...WITHOUT INDEX...</code>语句可选择不还原索引</p>
<ul>
<li>保证数据库为 OPEN 状态，准备数据，创建待备份的表及索引</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_idx<span class="token punctuation">(</span>c1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-INDEX">INDEX</span> i_tab_for_idx <span class="token keyword keyword-ON">ON</span> tab_for_idx <span class="token punctuation">(</span>c1<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_idx <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_idx <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_idx <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_idx <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_idx <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份表数据</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_idx BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_01'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>校验备份（可选）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-SELECT">SELECT</span> SF_BAKSET_CHECK<span class="token punctuation">(</span><span class="token string">'DISK'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak/tab_bak_for_res_01'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>准备还原表</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_res_idx<span class="token punctuation">(</span>c1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原表数据，<code>但不重建索引</code>（<code>WITHOUT INDEX</code>）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_res_idx WITHOUT <span class="token keyword keyword-INDEX">INDEX</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_01'</span><span class="token punctuation">;</span>
</code></pre><h4 id="还原时不重建约束">还原时不重建约束 </h4>
<p>表备份时会默认备份表中的约束定义，还原时使用<code>RESTORE TABLE...WITHOUT CONSTRAINT...</code>语句可选择还原时不重建约束。要求还原表上不能存在任何约束，否则执行还原时将报错</p>
<ul>
<li>保证数据库为 OPEN 状态。准备数据，创建待备份的表及约束</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_cons<span class="token punctuation">(</span>c1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">,</span> c2 <span class="token keyword keyword-INT">INT</span> <span class="token keyword keyword-CHECK">CHECK</span><span class="token punctuation">(</span>c2<span class="token operator">&lt;</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_cons <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_cons <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_cons <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_cons <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">4</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> tab_for_cons <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份表数据</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_cons BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>校验备份（可选）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-SELECT">SELECT</span> SF_BAKSET_CHECK<span class="token punctuation">(</span><span class="token string">'DISK'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>准备还原表，该表上不能存在任何约束</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RES_CONS<span class="token punctuation">(</span>C1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">,</span> C2 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原表数据，但不还原约束</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_res_cons WITHOUT <span class="token keyword keyword-CONSTRAINT">CONSTRAINT</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">;</span>
</code></pre><p>如果直接将<code>备份表</code>作为<code>还原表</code>，由于备份表上存在约束，因此需要首先使用<code>RESTORE TABLE...STRUCT WITHOUT CONSTRAINT...</code>语句还原备份表的表结构，去除表中约束后才能以不重建约束的方式还原表数据</p>
<p>首先还原表结构，不还原约束</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_cons STRUCT WITHOUT <span class="token keyword keyword-CONSTRAINT">CONSTRAINT</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">;</span>
</code></pre><p>还原表数据，不还原约束</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-TABLE">TABLE</span> tab_for_cons WITHOUT <span class="token keyword keyword-CONSTRAINT">CONSTRAINT</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/tab_bak_for_res_02'</span><span class="token punctuation">;</span>
</code></pre><h2 id="脱机备份">脱机备份 </h2>
<blockquote>
<p>脱机备份详细教程：<a href="https://eco.dameng.com/document/dm/zh-cn/pm/backup-restore-combat.html#3.3%20%E4%BD%BF%E7%94%A8%E8%84%B1%E6%9C%BA%E5%B7%A5%E5%85%B7%20DMRMAN%20%E8%BF%9B%E8%A1%8C%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F">DMRMAN备份还原</a></p>
</blockquote>
<h3 id="dmrman工具">DMRMAN工具 </h3>
<p>DMRMAN（DM RECOVERY MANAGER）是脱机备份还原命令行工具，无需额外安装，由它来统一负责库级脱机备份、脱机还原、脱机恢复等相关操作。DMRMAN 在数据库安装目录的 BIN 目录</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 启动DMRMAN</span>
<span class="token punctuation">.</span><span class="token operator">/</span>dmrman

<span class="token comment"># 退出DMRMAN</span>
RMAN<span class="token operator">&gt;</span><span class="token keyword keyword-exit">exit</span><span class="token punctuation">;</span>
</code></pre><h3 id="数据库备份-1">数据库备份 </h3>
<p>执行数据库脱机备份要求数据库处于脱机状态。若是正常退出的数据库，则脱机备份前不需要配置归档；若是故障退出的数据库，则备份前，需先进行归档修复</p>
<ul>
<li>STANDBY 模式下的库不支持脱机备份</li>
<li>STANDBY 模式切换为 PRIMARY 模式后，服务器没有经过重启的库，不支持脱机备份</li>
<li>备份还原回来的库，服务器没有经过重启的库，不支持脱机备份</li>
</ul>
<h4 id="语法-6">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;INI文件路径&gt;'</span> <span class="token punctuation">[</span><span class="token operator">&lt;</span>备份类型<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 指定备份集子句</span>
<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> BACKUPDIR ‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’{<span class="token punctuation">,</span>‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’}<span class="token punctuation">]</span>

<span class="token comment"># 指定备份名称</span>
<span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> <span class="token operator">|</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 备份集路径子句，指定备份集生成路径（相对路径相对于BAK_PATH配置路径）</span>
<span class="token punctuation">[</span>BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> FORMAT <span class="token string">'&lt;备份集路径格式串&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token comment"># 添加备份描述              # 最大备份片大小上限</span>
<span class="token punctuation">[</span>BACKUPINFO <span class="token string">'&lt;备份描述&gt;'</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>MAXPIECESIZE <span class="token operator">&lt;</span>备份片限制大小<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 限制备份时读/写速度上限，取值范围 0~2147483647，单位为 MB/S，0 表示无限制</span>
<span class="token punctuation">[</span><span class="token keyword keyword-LIMIT">LIMIT</span> <span class="token keyword keyword-READ">READ</span> SPEED <span class="token operator">&lt;</span>读速度上限<span class="token operator">&gt;</span> <span class="token punctuation">[</span><span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 备份加密</span>
<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> ENCRYPTION <span class="token operator">&lt;</span><span class="token keyword keyword-TYPE">TYPE</span><span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 备份压缩</span>
<span class="token punctuation">[</span>COMPRESSED <span class="token punctuation">[</span><span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>压缩级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 是否备份联机日志  # 是否备份镜像文件</span>
<span class="token punctuation">[</span>WITHOUT LOG<span class="token punctuation">]</span>     <span class="token punctuation">[</span>WITHOUT MIRROR<span class="token punctuation">]</span>

<span class="token punctuation">[</span>TRACE <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;TRACE文件名&gt;'</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>TRACE <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>TRACE日志级别<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span>TASK THREAD <span class="token operator">&lt;</span>线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>PARALLEL <span class="token punctuation">[</span><span class="token operator">&lt;</span>并行数<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span><span class="token keyword keyword-READ">READ</span> SIZE <span class="token operator">&lt;</span>拆分块大小<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span>

<span class="token punctuation">[</span><span class="token keyword keyword-USE">USE</span> BAK_MAGIC <span class="token operator">&lt;</span>DPC备份集魔数<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><table>
<thead>
<tr>
<th>配置项</th>
<th>配置项含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>DATABASE</td>
<td>必选参数。指定备份源库的 INI 文件路径</td>
</tr>
<tr>
<td>USE BAK_MAGIC</td>
<td>指定 DPC 备份集魔数，用于唯一标识 DMDPC 集群内同一批次的 MP 和 BP 的备份集。在对 DMDPC 节点执行脱机备份时，BAK_MAGIC 由用户指定，若不指定则默认为 0，需要确保同一批次的备份集 BAK_MAGIC 相同，以便区分不同批次的备份集，避免备份集出现混用。在连接 SP 执行集群备份时，BAK_MAGIC 由 MP 自动生成并自动同步给所有 BP 节点，无需用户指定。<strong>该参数仅在 DMDPC 环境下有效</strong></td>
</tr>
</tbody>
</table>
<h4 id="全量备份-3">全量备份 </h4>
<p>执行数据库备份要求数据库处于脱机状态。若是正常退出的数据库，则脱机备份前不需要配置归档；若是故障退出的数据库，则备份前，需先进行归档修复</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini '</span> <span class="token keyword keyword-FULL">FULL</span> BACKUPSET  <span class="token string">'/home/dm_bak/db_full_bak_01'</span><span class="token punctuation">;</span> 
</code></pre><h4 id="增量备份-2">增量备份 </h4>
<p>增量备份指基于指定的库的某个备份（完全备份或者增量备份），备份自该备份以来所有发生修改了的数据页。脱机增量备份要求两次备份之间数据库必须有操作，否则备份会报错</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini'</span> INCREMENT <span class="token keyword keyword-WITH">WITH</span> BACKUPDIR <span class="token string">'/home/dm_bak'</span>BACKUPSET <span class="token string">'/home/dm_bak/db_increment_bak_02'</span><span class="token punctuation">;</span>
</code></pre><h3 id="归档备份-2">归档备份 </h3>
<p>使用 DMRMAN 备份归档需要设置归档，否则会报错。同时，归档备份得是归档日志，防止归档日志的丢失导致重要数据缺失。执行归档备份要求数据库处于脱机状态</p>
<h4 id="语法-7">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token operator">&lt;</span>ARCHIVE LOG <span class="token operator">|</span>ARCHIVELOG<span class="token operator">&gt;</span> 

<span class="token punctuation">[</span>
 <span class="token keyword keyword-ALL">ALL</span> <span class="token operator">|</span> <span class="token punctuation">[</span><span class="token keyword keyword-FROM">FROM</span> LSN <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>UNTIL LSN <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>LSN <span class="token operator">BETWEEN</span> <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span> <span class="token operator">AND</span> <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span>
 <span class="token punctuation">[</span><span class="token keyword keyword-FROM">FROM</span> <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>UNTIL <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span><span class="token keyword keyword-TIME">TIME</span> <span class="token operator">BETWEEN</span><span class="token string">'&lt;time&gt;'</span><span class="token operator">&gt;</span> <span class="token operator">AND</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span>
<span class="token punctuation">]</span>

<span class="token comment"># 搜索过滤。搜索过滤仅限于根据备份指定条件能找到的所有归档备份集&lt;not_backedup_spec&gt;</span>
<span class="token punctuation">[</span> <span class="token operator">NOT</span> BACKED UP <span class="token punctuation">[</span><span class="token operator">&lt;</span>num<span class="token operator">&gt;</span> TIMES<span class="token punctuation">]</span><span class="token operator">|</span><span class="token punctuation">[</span>SINCE <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;datetime_string&gt;'</span><span class="token punctuation">]</span> <span class="token punctuation">]</span>

<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> BACKUPDIR ‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’{<span class="token punctuation">,</span>‘<span class="token operator">&lt;</span>备份集搜索路径<span class="token operator">&gt;</span>’}<span class="token punctuation">]</span>

<span class="token punctuation">[</span><span class="token keyword keyword-DELETE">DELETE</span> INPUT<span class="token punctuation">]</span>

<span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;INI文件路径&gt;'</span>

<span class="token comment"># 指定备份名称</span>
<span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> <span class="token operator">|</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 备份集路径子句，指定备份集生成路径（相对路径相对于BAK_PATH配置路径）</span>
<span class="token punctuation">[</span>BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> FORMAT <span class="token string">'&lt;备份集路径格式串&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token comment"># 添加备份描述              # 最大备份片大小上限</span>
<span class="token punctuation">[</span>BACKUPINFO <span class="token string">'&lt;备份描述&gt;'</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>MAXPIECESIZE <span class="token operator">&lt;</span>备份片限制大小<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 限制备份时读/写速度上限，取值范围 0~2147483647，单位为 MB/S，0 表示无限制</span>
<span class="token punctuation">[</span><span class="token keyword keyword-LIMIT">LIMIT</span> <span class="token keyword keyword-READ">READ</span> SPEED <span class="token operator">&lt;</span>读速度上限<span class="token operator">&gt;</span> <span class="token punctuation">[</span><span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token keyword keyword-WRITE">WRITE</span> SPEED <span class="token operator">&lt;</span>写速度上限<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token comment"># 备份加密</span>
<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> ENCRYPTION <span class="token operator">&lt;</span><span class="token keyword keyword-TYPE">TYPE</span><span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 备份压缩                       # 只是语法支持，不起任何作用</span>
<span class="token punctuation">[</span>COMPRESSED <span class="token punctuation">[</span><span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>压缩级别<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>  <span class="token punctuation">[</span>WITHOUT LOG<span class="token punctuation">]</span>

<span class="token punctuation">[</span>TRACE <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;TRACE文件名&gt;'</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>TRACE <span class="token keyword keyword-LEVEL">LEVEL</span> <span class="token operator">&lt;</span>TRACE日志级别<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span>TASK THREAD <span class="token operator">&lt;</span>线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">[</span>PARALLEL <span class="token punctuation">[</span><span class="token operator">&lt;</span>并行数<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token punctuation">[</span><span class="token keyword keyword-READ">READ</span> SIZE <span class="token operator">&lt;</span>拆分块大小<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><h4 id="完全备份">完全备份 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-BACKUP">BACKUP</span> ARCHIVE LOG <span class="token keyword keyword-ALL">ALL</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini'</span> BACKUPSET <span class="token string">'/home/dm_bak/arch_all_bak_01'</span><span class="token punctuation">;</span>
</code></pre><h4 id="指定范围备份">指定范围备份 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-BACKUP">BACKUP</span> ARCHIVE LOG LSN <span class="token operator">BETWEEN</span> <span class="token number">50000</span> <span class="token operator">AND</span> <span class="token number">120000</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini'</span> BACKUPSET <span class="token string">'/home/dm_bak/arch_lsn_bak_02'</span><span class="token punctuation">;</span>
</code></pre><p>命令中的 LSN BETEEWN start AND end 表示备份 LSN 值在 start 与 end 之间的归档，也可以设置 FROM LSN(TIME)或 UNTIL LSN(TIME)</p>
<h3 id="备份管理">备份管理 </h3>
<p>管理备份一个重要的目的是删除不再需要的备份。DMRMAN 工具提供 <code>SHOW</code>、<code>CHECK</code>、<code>REMOVE</code>、<code>LOAD</code> 等命令分别用来查看、校验、删除和导出备份集</p>
<h4 id="备份信息查看">备份信息查看 </h4>
<p>DMRMAN 中使用 <code>SHOW</code> 命令可以查看备份集的信息，若指定具体备份集目录，则会生成相应的备份集链表信息</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">##查看单个备份集信息</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-show">show</span> backupset <span class="token string">'/home/test/yy/dm_bak/db_full_bak_01'</span> 

<span class="token comment">##批量显示备份集信息</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini'</span> 
BACKUPSET<span class="token string">'/home/dm_bak1/db_bak_for_show_01'</span><span class="token punctuation">;</span> 
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini'</span> 
BACKUPSET<span class="token string">'/home/dm_bak2/db_bak_for_show_01'</span><span class="token punctuation">;</span>
<span class="token comment">##SHOW BACKUPSETS...命令用于批量显示指定搜索目录下的备份集信息。</span>
<span class="token comment">##可通过WITH BACKUPDIR 参数指定多个备份集搜索目录，同时查看所有的备份集。</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-SHOW">SHOW</span> BACKUPSETS <span class="token keyword keyword-WITH">WITH</span> BACKUPDIR <span class="token string">'/home/dm_bak1'</span><span class="token punctuation">,</span><span class="token string">'/home/dm_bak2'</span><span class="token punctuation">;</span>
</code></pre><h4 id="备份集校验">备份集校验 </h4>
<p>DMRMAN 中使用 <code>CHECK</code> 命令对备份集进行校验，校验备份集是否存在及合法</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">##语法：CHECK BACKUPSET '&lt;备份集目录&gt;' ;</span>
<span class="token comment">##CHECK BACKUPSET...命令用于校验特定备份集，每次只能检验一个备份集。</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/home/dmbak/dbbakforcheck01'</span><span class="token punctuation">;</span>
</code></pre><h4 id="备份集删除">备份集删除 </h4>
<p>DMRMAN 中使用 <code>REMOVE</code> 命令删除备份集，可删除单个备份集，也可批量删除备份集</p>
<p>单个备份集删除时并行备份中的子备份集不允许单独删除；在指定备份集搜集目录中，发现存在引用待删除备份集作为基备份的需要执行级联删除，默认报错。批量删除备份集时，跳过收集到的单独的子备份集</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini'</span> 
BACKUPSET<span class="token string">'/home/dm_bak/db_bak_for_remove_01'</span><span class="token punctuation">;</span> 
RMAN<span class="token operator">&gt;</span> REMOVE BACKUPSET <span class="token string">'/home/dm_bak/db_bak_for_remove_01'</span>
</code></pre><h4 id="备份集导出">备份集导出 </h4>
<p>DMRMAN 中使用 <code>LOAD</code> 命令导出备份集</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">##导出磁带/dev/nst0 上所有备份集的 meta 文件到目录/mnt/hgfs/dmsrc/bak_ dir中。直接输##入导出语句将报错，如下所示：</span>
RMAN<span class="token operator">&gt;</span><span class="token keyword keyword-LOAD">LOAD</span> BACKUPSETS <span class="token keyword keyword-FROM">FROM</span> DEVICE <span class="token keyword keyword-TYPE">TYPE</span> TAPE <span class="token keyword keyword-TO">TO</span> BACKUPDIR <span class="token string">'/mnt/hgfs/dmsrc/bak_dir'</span><span class="token punctuation">;</span> 
<span class="token keyword keyword-LOAD">LOAD</span> BACKUPSETS <span class="token keyword keyword-FROM">FROM</span> DEVICE <span class="token keyword keyword-TYPE">TYPE</span> TAPE <span class="token keyword keyword-TO">TO</span> BACKUPDIR <span class="token string">'/mnt/hgfs/dmsrc/bak_dir'</span><span class="token punctuation">;</span> 
<span class="token comment">##load backupsets failed.error code：-10000  [-10000]：[错误码：-20022]磁带打开失败</span>

<span class="token comment">##退出 dmrman，设置环境变量 TAPE，值为/dev/nst0： </span>
<span class="token punctuation">[</span>root<span class="token variable">@192</span> debug<span class="token punctuation">]</span><span class="token comment">#export TAPE=/dev/nst0 </span>
<span class="token punctuation">[</span>root<span class="token variable">@192</span> debug<span class="token punctuation">]</span><span class="token comment">#echo $TAPE  /dev/nst0</span>

<span class="token comment">##启动 dmrman，再次执行</span>
<span class="token punctuation">[</span>root<span class="token variable">@192</span> debug<span class="token punctuation">]</span><span class="token comment"># ./dmrman </span>
RMAN<span class="token operator">&gt;</span><span class="token keyword keyword-LOAD">LOAD</span> BACKUPSETS <span class="token keyword keyword-FROM">FROM</span> DEVICE <span class="token keyword keyword-TYPE">TYPE</span> TAPE <span class="token keyword keyword-TO">TO</span> BACKUPDIR <span class="token string">'/mnt/hgfs/dmsrc/bak_dir'</span><span class="token punctuation">;</span> 
<span class="token keyword keyword-LOAD">LOAD</span> BACKUPSETS <span class="token keyword keyword-FROM">FROM</span> DEVICE <span class="token keyword keyword-TYPE">TYPE</span> TAPE <span class="token keyword keyword-TO">TO</span> BACKUPDIR <span class="token string">'/mnt/hgfs/dmsrc/bak_dir'</span><span class="token punctuation">;</span> 
<span class="token keyword keyword-load">load</span> meta <span class="token keyword keyword-file">file</span> <span class="token punctuation">[</span>SBT_TEST_T<span class="token operator">-</span><span class="token number">20140909192629000000</span><span class="token operator">-</span><span class="token number">4966</span><span class="token punctuation">]</span> <span class="token keyword keyword-to">to</span> path 
<span class="token punctuation">[</span><span class="token operator">/</span>mnt<span class="token operator">/</span>hgfs<span class="token operator">/</span>dmsrc<span class="token operator">/</span>bak_dir<span class="token operator">/</span><span class="token number">0</span><span class="token operator">/</span><span class="token number">0.</span>meta<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> 
<span class="token keyword keyword-load">load</span> meta <span class="token keyword keyword-file">file</span> <span class="token punctuation">[</span>SBT_TEST_T<span class="token operator">-</span><span class="token number">20140909192629000000</span><span class="token operator">-</span><span class="token number">4966</span><span class="token punctuation">]</span> <span class="token keyword keyword-to">to</span> path 
<span class="token punctuation">[</span><span class="token operator">/</span>mnt<span class="token operator">/</span>hgfs<span class="token operator">/</span>dmsrc<span class="token operator">/</span>bak_dir<span class="token operator">/</span><span class="token number">0</span><span class="token operator">/</span><span class="token number">0.</span>meta<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>success 
<span class="token keyword keyword-load">load</span> meta <span class="token keyword keyword-file">file</span> <span class="token punctuation">[</span>SBT_TEST_T2<span class="token operator">-</span><span class="token number">20140909192746000000</span><span class="token operator">-</span><span class="token number">9983</span><span class="token punctuation">]</span> <span class="token keyword keyword-to">to</span> path 
<span class="token punctuation">[</span><span class="token operator">/</span>mnt<span class="token operator">/</span>hgfs<span class="token operator">/</span>dmsrc<span class="token operator">/</span>bak_dir<span class="token operator">/</span><span class="token number">1</span><span class="token operator">/</span><span class="token number">1.</span>meta<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> 
<span class="token keyword keyword-load">load</span> meta <span class="token keyword keyword-file">file</span> <span class="token punctuation">[</span>SBT_TEST_T2<span class="token operator">-</span><span class="token number">20140909192746000000</span><span class="token operator">-</span><span class="token number">9983</span><span class="token punctuation">]</span> <span class="token keyword keyword-to">to</span> path 
<span class="token punctuation">[</span><span class="token operator">/</span>mnt<span class="token operator">/</span>hgfs<span class="token operator">/</span>dmsrc<span class="token operator">/</span>bak_dir<span class="token operator">/</span><span class="token number">1</span><span class="token operator">/</span><span class="token number">1.</span>meta<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>success 
<span class="token keyword keyword-load">load</span> backupsets successfully<span class="token punctuation">.</span>

<span class="token comment">##退出 dmrman，查看本地磁盘目录/mnt/hgfs/dmsrc/bak_dir： </span>
<span class="token punctuation">[</span>root<span class="token variable">@192</span> debug<span class="token punctuation">]</span><span class="token comment"># ls -1 /mnt/hgfs/dmsrc/bak_dir  total 0 </span>
drwxrwxrwx <span class="token number">1</span> root root <span class="token number">0</span> Sep <span class="token number">11</span> <span class="token number">00</span>:<span class="token number">23</span> <span class="token number">0</span> 
drwxrwxrwx <span class="token number">1</span> root root <span class="token number">0</span> Sep <span class="token number">11</span> <span class="token number">00</span>:<span class="token number">23</span> <span class="token number">1</span> 
<span class="token punctuation">[</span>root<span class="token variable">@192</span> debug<span class="token punctuation">]</span><span class="token comment"># ls -1 /mnt/hgfs/dmsrc/bak_dir/0  total 12 </span>
<span class="token operator">-</span>rwxrwxrwx <span class="token number">1</span> root root <span class="token number">24576</span> Sep <span class="token number">11</span> <span class="token number">00</span>:<span class="token number">23</span> <span class="token number">0.</span>meta 
<span class="token punctuation">[</span>root<span class="token variable">@192</span> debug<span class="token punctuation">]</span><span class="token comment"># ls -1 /mnt/hgfs/dmsrc/bak_dir/1 </span>
total <span class="token number">12</span> 
<span class="token operator">-</span>rwxrwxrwx <span class="token number">1</span> root root <span class="token number">24576</span> Sep <span class="token number">11</span> <span class="token number">00</span>:<span class="token number">23</span> <span class="token number">1.</span>meta 
</code></pre><h4 id="备份集映射文件导出">备份集映射文件导出 </h4>
<p>备份集映射文件，又称为 mapped file。备份集映射文件导出，是将备份集中各数据文件的原始路径或者调整后的路径生成到一个本地文件中，可通过关键字 MAPPED FILE 应用于表空间和库的还原操作中</p>
<p>DMRMAN 中使用 <code>DUMP</code> 命令导出映射文件。不支持导出到 DMASM 文件系统中</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">##导出备份集中数据文件的原始路径</span>
RMAN<span class="token operator">&gt;</span><span class="token keyword keyword-DUMP">DUMP</span>  BACKUPSET<span class="token string">'/mnt/dmsrc/db_bak'</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token keyword keyword-DISK">DISK</span> MAPPED <span class="token keyword keyword-FILE">FILE</span>  <span class="token string">'/mnt/dmsrc/db_bak_mapped.txt'</span><span class="token punctuation">;</span>

<span class="token comment">##指定 ini_path，导出调整后的数据文件路径到映射文件:</span>
RMAN<span class="token operator">&gt;</span><span class="token keyword keyword-DUMP">DUMP</span>  BACKUPSET<span class="token string">'/mnt/dmsrc/db_bak'</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token keyword keyword-DISK">DISK</span> <span class="token keyword keyword-DATABASE">DATABASE</span>  <span class="token string">'/opt/dmdbms/data/DAMENG/dm.ini'</span>
MAPPED  <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'/mnt/dmsrc/db_bak_mapped.txt'</span><span class="token punctuation">;</span>
</code></pre><h2 id="脱机还原">脱机还原 </h2>
<h3 id="数据库还原">数据库还原 </h3>
<h4 id="还原-2">还原 </h4>
<p>使用<code>RESTORE</code>命令完成脱机还原操作，在还原语句中指定库级备份集，可以是脱机库级备份集，也可以是联机库级备份集</p>
<p>数据库的还原包括<code>数据库配置文件还原</code>和<code>数据文件还原</code>，目前可能需要还原的数据库配置文件包括 dm.ini、dm.ctl、服务器秘钥文件(dm_service.prikey 或者 dm_external.config，若备份库指定 usbkey 加密，则无秘钥文件)、联机日志文件</p>
<h5 id="语法-8">语法 </h5>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span>

<span class="token comment"># 恢复类型选择</span>
<span class="token operator">&lt;</span>type1<span class="token operator">&gt;</span> <span class="token operator">|</span> <span class="token operator">&lt;</span>type2<span class="token operator">&gt;</span>

<span class="token comment"># 指定备份集路径/备份名</span>
<span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span>

<span class="token comment"># 存储备份集的介质类型（默认DISK）；介质参数，只对介质类型为 TAPE 时有效</span>
<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 指定备份加密密码，及其加密算法</span>
<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 用于增量备份的还原中，指定基备份的搜索目录</span>
<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> BACKUPDIR <span class="token string">'&lt;基备份搜索目录&gt;'</span>{<span class="token punctuation">,</span><span class="token string">'&lt;基备份搜索目录&gt;'</span>}<span class="token punctuation">]</span>

<span class="token comment"># 指定存放还原目标路径的映射文件路径</span>
<span class="token punctuation">[</span>MAPPED <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;映射文件路径&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>TASK THREAD <span class="token operator">&lt;</span>任务线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 指定还原数据库后是否更改库的名字，默认使用备份集中的 db_name 作为还原后库名</span>
<span class="token punctuation">[</span><span class="token keyword keyword-RENAME">RENAME</span> <span class="token keyword keyword-TO">TO</span> <span class="token string">'&lt;数据库名&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span><span class="token keyword keyword-USE">USE</span> BAK_MAGIC <span class="token operator">&lt;</span>DPC备份集魔数<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token operator">&lt;</span>type1<span class="token operator">&gt;</span>::<span class="token operator">=</span><span class="token string">'&lt;ini_path&gt;'</span> <span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> SHADOW<span class="token punctuation">]</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> <span class="token keyword keyword-CHECK">CHECK</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>REUSE DMINI<span class="token punctuation">]</span> <span class="token punctuation">[</span>WITHOUT SPACE<span class="token punctuation">]</span> <span class="token punctuation">[</span>WITHOUT MIRROR<span class="token punctuation">]</span> <span class="token punctuation">[</span>AUTO EXTEND<span class="token punctuation">]</span> <span class="token punctuation">[</span>OVERWRITE<span class="token punctuation">]</span>

<span class="token operator">&lt;</span>type2<span class="token operator">&gt;</span>::<span class="token operator">=</span> <span class="token keyword keyword-TO">TO</span> <span class="token string">'&lt;system_dbf_dir&gt;'</span> <span class="token punctuation">[</span><span class="token keyword keyword-TO">TO</span> SHADOW<span class="token punctuation">]</span> <span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> <span class="token keyword keyword-CHECK">CHECK</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>OVERWRITE<span class="token punctuation">]</span> <span class="token punctuation">[</span>WITHOUT MIRROR<span class="token punctuation">]</span>
</code></pre><table>
<thead>
<tr>
<th>配置项</th>
<th>配置项含义</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>DATABASE</code></td>
<td>指定还原目标库的 dm.ini 文件路径或 system.dbf 文件路径</td>
</tr>
<tr>
<td>MAPPED FILE</td>
<td>指定存放还原目标路径的映射文件路径。当参数 BACKUPSET 指定的路径和 MAPPED FILE 中指定的路径不一致时，以 MAPPED FILE 中指定的路径为主</td>
</tr>
<tr>
<td>TASK THREAD</td>
<td>指定还原过程中用于处理解压缩和解密任务的线程个数。若未指定，则默认为 4；若指定为 0，则调整为 1；若指定超过当前系统主机核数，则调整为主机核数</td>
</tr>
<tr>
<td>USE BAK_MAGIC</td>
<td>指定 DPC 备份集魔数，若不指定，则默认为 0。使用备份集进行还原恢复时指定的 BAK_MAGIC 需要与备份集的 BAK_MAGIC 一致，用户可通过 DMRMAN 工具的 SHOW BACKUPSET 命令查看备份集的 BAK_MAGIC。该参数仅在 DMDPC 环境下有效</td>
</tr>
<tr>
<td>TO SHADOW</td>
<td>指定该关键字，将目标库还原成影子库</td>
</tr>
<tr>
<td><code>WITH CHECK</code></td>
<td>指定还原前校验备份集数据完整性。缺省不校验</td>
</tr>
<tr>
<td>WITHOUT SPACE</td>
<td>指定还原数据库时不再为数据文件尾部未使用的数据页分配磁盘，不指定则默认分配</td>
</tr>
<tr>
<td>AUTO EXTEND</td>
<td>还原数据库时设置文件自动拓展，避免指定 WITHOUT SPACE 关键字后，由于源库未设置文件自动拓展，从而导致恢复过程或从 DDL_CLONE 库还原后更新 DB_MAGIC 时存储空间不足</td>
</tr>
<tr>
<td>WITHOUT MIRROR</td>
<td>指定还原数据库时不再为数据文件尾部未使用的数据页分配磁盘，不指定则默认分配</td>
</tr>
<tr>
<td><code>OVERWRITE</code></td>
<td>还原数据库时，存在重名的数据文件时，是否覆盖重建，不指定则默认报错。还原时指定OVERWRITE选项，所有重名的文件和非空目录均会删除重建，<strong>该过程是无法撤销的</strong>。为避免删除重要的文件，还原前请务必确保数据库系统路径下未存放无关文件</td>
</tr>
<tr>
<td><code>REUSE DMINI</code></td>
<td>指定时会将备份集中备份的 dm.ini 中除路径相关的 INI 参数外，均拷贝到当前 dm.ini 上</td>
</tr>
</tbody>
</table>
<p><code>&lt;type1&gt;</code></p>
<ol>
<li>指定 dm.ini 还原，要求 dm.ini 中 CTL_PATH 必须配置正确，且内容有效；若配置 CTL_PATH 文件故障，且想利用 dm.ini 优化配置，则可选择 type2 还原后，用指定 dm.ini 覆盖还原后 dm.ini，并修改 CTL_PATH 为当前控制文件路径即可；</li>
<li>除 dm.ini 文件外，其他文件均可不存在；但 dm.ini 参数配置必须正确，且配置的 dm.ctl 文件必须是有效的控制文件；</li>
<li>解析 dm.ini 配置文件，获取 dm.ctl 控制文件路径，删除控制文件中的数据文件，然后根据 OVERWRITE 选项，如果指定 OVERWRITE 选项，若待还原文件存在，则删除重建；如果未指定 OVERWRITE 选项，若待还原文件存在，则报错，但保留目标库的日志文件、控制文件等。需要注意的是，HUGE 数据文件未记录在 dm.ctl 控制文件中；</li>
</ol>
<p><code>&lt;type2&gt;</code></p>
<ol>
<li>所有文件均可不在，system.dbf 所在路径需为有效路径，若不存在，restore 过程中会自动创建；</li>
<li>所有前面提到的数据库配置文件均会在指定的 system.dbf 所在路径还原，但非单机环境中相关其他文件均不修改或者重建，如 MPP 中 dmmpp.ini、dmmal.ini 等；</li>
<li>若未指定 OVERWRITE，且 system.dbf 所在路径中存在待还原的库配置文件，则报错；若指定，则将已经存在的文件删除重建；</li>
<li>由于 DSC 环境中 dm.ini 可能存在多个，且可能不在一个主库上，或者即使在一个主库上也可能不在 system.dbf 所在路径中，故暂时不支持 DSC 环境的指定目录还原。</li>
</ol>
<h5 id="联机全备还原">联机全备还原 </h5>
<ul>
<li>联机备份数据库，保证数据库运行在归档模式及 OPEN 状态</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPNAME DB_FULL_BAK_01 BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_restore'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>（选做）准备目标库。使用 dminit 工具初始化一个新库，也可为已经存在的数据库</li>
</ul>
<pre data-role="codeBlock" data-info="bash" class="language-bash bash"><code>./dminit <span class="token assign-left variable">path</span><span class="token operator">=</span>/opt/dmdbms/data <span class="token assign-left variable">db_name</span><span class="token operator">=</span>DAMENG_FOR_RESTORE
<span class="token comment"># 如果还原目标库与故障库是同一个，建议先执行故障库的归档修复操作</span>
</code></pre><ul>
<li>校验备份，校验待还原备份集的合法性。校验备份有联机和脱机两种方式（此处为脱机校验）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_restore'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原数据库</li>
</ul>
<p>可通过调整dm.ini中的检查点和REDO日志相关参数，降低检查点频率，增大REDO日志包大小来提升还原性能</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 方式一：直接指定还原目标库的 dm.ini 进行数据库还原</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_restore'</span><span class="token punctuation">;</span>

<span class="token comment"># 方式二：指定备份名进行数据库还原</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME DB_FULL_BAK_01<span class="token punctuation">;</span>

<span class="token comment"># 方式三：可以指定REUSE DMINI，将备份集中备份的 dm.ini 中除路径相关的 INI 参数外，均拷贝到当前 dm.ini 上</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> REUSE DMINI <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_restore'</span><span class="token punctuation">;</span>
</code></pre><blockquote>
<p>如果还原时报错<code>[-503]</code>服务器内存不足，可以通过向下调整目标库dm.ini中标签memory pool and buffer下的各内存/缓存值，使得系统可用内存能够分配出还原时为DM申请的内存</p>
</blockquote>
<h4 id="恢复">恢复 </h4>
<p>数据库恢复包括：<code>恢复数据库一致性</code>、<code>更新DM_MAGIC</code></p>
<h5 id="恢复一致性-1">恢复一致性 </h5>
<p>使用<code>RECOVER</code>命令完成数据库恢复工作，可以基于<code>备份集</code>，也可以使用<code>本地归档日志</code></p>
<p>由于日志重做过程中，修改好的数据页首先存入缓冲区，缓冲区分批次将修改好的数据页写入磁盘，如果在此过程中发生异常中断，可能导致缓冲区中的数据页无法写入磁盘，造成数据的不一致，数据库启动时校验失败，<strong>所以数据库恢复过程中不允许异常中断</strong>。数据库恢复后，还需要执行数据库更新操作，将数据库调整为可正常工作的库才算完成</p>
<p>如果还原后，不需要重做日志，数据就已经处于一致性状态了（例如正常关闭库的脱机备份还原），则可以跳过数据一致性恢复步骤，直接进入数据库更新阶段</p>
<h6 id="语法-9">语法 </h6>
<ul>
<li><strong>基于归档日志</strong></li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;ini_path&gt;'</span>

<span class="token comment"># 本地归档日志搜索目录</span>
<span class="token keyword keyword-WITH">WITH</span> ARCHIVEDIR <span class="token string">'&lt;归档日志目录&gt;'</span>{<span class="token punctuation">,</span><span class="token string">'&lt;归档日志目录&gt;'</span>}

<span class="token comment"># 指定本地归档日志对应数据库的 DB_MAGIC，若不指定，则默认使用目标数据库的 DB_MAGIC</span>
<span class="token punctuation">[</span><span class="token keyword keyword-USE">USE</span> DB_MAGIC <span class="token operator">&lt;</span>db_magic<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 恢复数据库到指定的时间点</span>
<span class="token punctuation">[</span>UNTIL <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;时间串&gt;'</span><span class="token punctuation">]</span>

<span class="token comment"># 恢复数据库到指定的 LSN。如果指定的 UNTIL LSN 小于备份结束 LSN（END_LSN），则报错</span>
<span class="token punctuation">[</span>UNTIL LSN <span class="token operator">&lt;</span>LSN<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><ul>
<li><strong>基于备份集</strong></li>
</ul>
<pre data-role="codeBlock" data-info="SQL" class="language-sql SQL"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;ini_path&gt;'</span> 

<span class="token comment"># 将目标库作为备库恢复，重演 redo 日志时确保重演完整日志包，确保启动后能正确加入数据守护集群或 DM 多副本系统</span>
<span class="token punctuation">[</span><span class="token keyword keyword-FOR">FOR</span> STANDBY<span class="token punctuation">]</span>

<span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token comment"># 指定 DPC 备份集魔数，若不指定，则默认为 0</span>
<span class="token punctuation">[</span><span class="token keyword keyword-USE">USE</span> BAK_MAGIC <span class="token operator">&lt;</span>DPC备份集魔数<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><h6 id="从备份集恢复">从备份集恢复 </h6>
<p>如果备份集在备份过程中生成了日志，且这些日志在备份集中有完整备份（如联机数据库备份），在执行数据库还原后，可以重做备份集中备份的日志，将数据库恢复到备份时的状态，即从备份集恢复</p>
<ul>
<li>启动 DIsql 联机备份数据库</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPNAME DB_FULL_BAK_01 BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_backupset'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>准备目标库，可以使用备份库，也可以重新生成库</li>
</ul>
<pre data-role="codeBlock" data-info="bash" class="language-bash bash"><code>./dminit <span class="token assign-left variable">path</span><span class="token operator">=</span>/opt/dmdbms/data <span class="token assign-left variable">db_name</span><span class="token operator">=</span>DAMENG_FOR_RESTORE <span class="token assign-left variable">auto_overwrite</span><span class="token operator">=</span><span class="token number">1</span>
</code></pre><ul>
<li>启动 RMAN，校验备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_backupset'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原数据库</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_backupset'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>恢复数据库</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 方式一：指定备份集路径进行恢复</span>
RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_backupset'</span><span class="token punctuation">;</span>

<span class="token comment"># 方式二：指定备份名称进行恢复</span>
RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME DB_FULL_BAK_01<span class="token punctuation">;</span>
</code></pre><h6 id="从归档恢复">从归档恢复 </h6>
<p>从归档恢复是利用重做本地归档日志来恢复数据的过程。从归档恢复允许恢复到指定的时间点及指定的 LSN 值。<strong>若同时指定了时间点和LSN，则以较早的为结束点</strong></p>
<p>执行过从备份集还原，或者执行过从备份集还原恢复的库可以使用从归档进行恢复。此时本地归档日志属于生成备份集的源库，本地归档日志的 DB_MAGIC 与备份集中记录的 DB_MAGIC 值相同</p>
<ul>
<li>启动 DIsql 联机备份数据库，以及备份从检查点开始的本地归档日志</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 查看动态视图V$RLOG中的CKPT_LSN列，可以得出当前检查点LSN</span>
<span class="token keyword keyword-BACKUP">BACKUP</span> ARCHIVELOG <span class="token keyword keyword-FROM">FROM</span> LSN <span class="token number">421401</span> BACKUPSET <span class="token string">'/home/dm_bak/arch_bak_lsn_421401'</span><span class="token punctuation">;</span>

<span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_arch'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>准备目标库，可以使用备份库，也可以重新生成库</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 如果使用原备份库，且备份库故障，需要先执行目标库归档修复：</span>
RMAN<span class="token operator">&gt;</span> REPAIR ARCHIVELOG <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/dm.ini'</span><span class="token punctuation">;</span>

<span class="token comment"># 如果使用新生成的库，生成之后需要先重启一下数据库实例，才可以被还原。重新生成的库不需要执行归档修复（REPAIR）操作</span>
<span class="token punctuation">.</span><span class="token operator">/</span>dminit path<span class="token operator">=</span><span class="token operator">/</span>opt<span class="token operator">/</span>dmdbms<span class="token operator">/</span><span class="token keyword keyword-data">data</span> db_name<span class="token operator">=</span>DAMENG_FOR_RESTORE auto_overwrite<span class="token operator">=</span><span class="token number">1</span>
</code></pre><ul>
<li>启动 RMAN，校验备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_arch'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原数据库</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_arch'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>查看备份集的数据库信息，获取源库的DB_MAGIC（还原后，立即执行恢复，可以不用获取源库DB_MAGIC）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-SHOW">SHOW</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_recover_arch'</span> INFO DB<span class="token punctuation">;</span>
<span class="token comment"># 查看字段db_magic值，此处为1447060265</span>
</code></pre><ul>
<li>利用归档恢复数据库。源库的DB_MAGIC值为 1447060265（还原后，立即执行恢复，可以不用指定DB_MAGIC）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-WITH">WITH</span> ARCHIVEDIR<span class="token string">'/home/dm_arch/arch'</span> <span class="token keyword keyword-USE">USE</span> DB_MAGIC <span class="token number">1447060265</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>（选做）若执行后归档恢复过程中，出现归档不足的错误，则利用归档校验工具 dmrachk，查看归档目录中归档连续性情况，然后再利用备份的本地归档日志，还原到归档目录后，再次执行恢复操作</li>
</ul>
<pre data-role="codeBlock" data-info="bash" class="language-bash bash"><code>./dmrachk <span class="token assign-left variable">arch_path</span><span class="token operator">=</span>/home/dm_arch/arch
<span class="token comment"># 查看clsn、arch_lsn</span>

<span class="token comment"># DMRMAN 查看归档备份的范围</span>
RMAN<span class="token operator">&gt;</span> show backupset <span class="token string">'/home/dm_bak/arch_bak_lsn_421401'</span> INFO META<span class="token punctuation">;</span>
<span class="token comment"># [arch start lsn, arch end lsn]为归档备份范围</span>

<span class="token comment"># 执行归档还原后，再次执行利用本地归档恢复操作</span>
RMAN<span class="token operator">&gt;</span> RESTORE ARCHIVELOG FROM BACKUPSET <span class="token string">'/home/dm_bak/arch_bak_lsn_421401'</span> ALL TO ARCHIVEDIR <span class="token string">'/home/dm_arch/arch'</span><span class="token punctuation">;</span>
</code></pre><blockquote>
<p><a href="https://eco.dameng.com/document/dm/zh-cn/pm/backup-restore-combat.html#3.3.5.1.2.2%20%E6%9B%B4%E6%96%B0%20DB_MAGIC">使用异常退出源库的归档文件进行恢复</a></p>
</blockquote>
<h5 id="更新db_magic-1">更新DB_MAGIC </h5>
<p>数据库更新是指更新数据库的<code>DB_MAGIC</code>，并将数据库调整为可正常工作状态，与数据库恢复一样使用 RECOVER 命令完成。数据库更新发生在重做 REDO 日志恢复数据库后，或者目标库不需要执行重做日志已经处于一致状态的情况</p>
<pre data-role="codeBlock" data-info="SQL" class="language-sql SQL"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;ini_path&gt;'</span> <span class="token keyword keyword-UPDATE">UPDATE</span> DB_MAGIC<span class="token punctuation">;</span>
</code></pre><h4 id="高级场景">高级场景 </h4>
<h5 id="恢复数据库到指定时间点lsn">恢复数据库到指定时间点/LSN </h5>
<p>恢复数据库到指定时间点/LSN 是从归档恢复的一种方式，也称为<code>不完全恢复</code>。从归档恢复允许恢复到指定的时间点及指定的 LSN 值。若同时指定了时间点和 LSN，则以较早的为结束点。用户可以通过指定一个时间点/LSN，使数据库恢复到这个指定的时间点/LSN</p>
<p>例如：用户在下午 5 点做了一个误操作，删除了某些重要数据；我们可以指定恢复时间点到下午 4:59 分，恢复被误删除的数据</p>
<ul>
<li>准备数据</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RECOVER_01<span class="token punctuation">(</span>C1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> TAB_FOR_RECOVER_01 <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-COMMIT">COMMIT</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>备份数据库</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-DATABASE">DATABASE</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_time_lsn'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>正确操作数据库，产生一些归档</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-CREATE">CREATE</span> <span class="token keyword keyword-TABLE">TABLE</span> TAB_FOR_RECOVER_02<span class="token punctuation">(</span>C1 <span class="token keyword keyword-INT">INT</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-INSERT">INSERT</span> <span class="token keyword keyword-INTO">INTO</span> TAB_FOR_RECOVER_02 <span class="token keyword keyword-VALUES">VALUES</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-COMMIT">COMMIT</span><span class="token punctuation">;</span>
</code></pre><p>使用<code>SELECT SYSDATE</code>命令查询此时的时间为：2018-11-16 10:56:40</p>
<p>使用<code>SELECT FILE_LSN FROM V$RLOG</code>命令查询此时的 LSN 为：50857</p>
<ul>
<li>误操作数据库。此步骤误删除了表 TAB_FOR_RECOVER_01 中数据</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-DELETE">DELETE</span> <span class="token keyword keyword-FROM">FROM</span> TAB_FOR_RECOVER_01<span class="token punctuation">;</span>
<span class="token keyword keyword-COMMIT">COMMIT</span><span class="token punctuation">;</span>
</code></pre><p>此时的时间和 LSN 分别为：2018-11-16 10:57:20、50861</p>
<ul>
<li>还原数据库。我们需要将数据库恢复到误操作前的状态。首先需要关闭数据库实例，然后利用 DMRMAN 工具还原数据库</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/db_full_bak_for_time_lsn'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>恢复数据库到指定时间点/LSN。还原后数据库的数据与备份时一致，可以指定 UNTIL TIME 或 UNTIL LSN 参数重做部分归档</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 使用 RECOVER DATABASE...UNTIL TIME 命令恢复到指定的时间</span>
RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-WITH">WITH</span> ARCHIVEDIR<span class="token string">'/home/dm_arch/arch'</span> UNTIL <span class="token keyword keyword-TIME">TIME</span><span class="token string">'2018-11-16 10:56:40'</span><span class="token punctuation">;</span>

<span class="token comment"># 使用 RECOVER DATABASE...UNTIL TIME 命令恢复到指定的 LSN</span>
RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-WITH">WITH</span> ARCHIVEDIR<span class="token string">'/home/dm_arch/arch'</span> UNTIL LSN <span class="token number">50857</span><span class="token punctuation">;</span>
</code></pre><h4 id="数据库备份还原全步骤">数据库备份还原全步骤 </h4>
<h5 id="全库--增量备份集还原数据库">全库 + 增量备份集还原数据库 </h5>
<p>增量还原指通过增量备份集进行数据还原操作。<strong>在使用增量备份集进行数据库还原的前提是已对数据库进行全库备份</strong>。因为增量还原过程中隐含一个完全还原操作。</p>
<p><strong>选择增量备份还原时，直接选择最后一个增量备份集进行还原即可，数据库会自动从最早一个全库备份寻找开始还原</strong>。如果增量备份集的基备份集被删除了，那么单独使用这个增量备份集无法进行还原操作</p>
<p>全库 + 增量备份集进行数据库还原流程如下：</p>
<ol>
<li>备份前设置好归档</li>
<li>对数据库进行全库备份产生完全备份集 A</li>
<li>当对数据库进行相关操作（增删改）之后，依次进行增量备份并产生增量备份集 B、C、D（未产生新数据，则无法进行增量备份）</li>
<li>当使用增量备份集进行数据库还原时，可以直接使用最后一个增量备份集 D 进行还原操作，最终完成整个数据库还原过程</li>
</ol>
<blockquote>
<p>注意：</p>
<ul>
<li>使用增量备份集进行还原时，增量备份集的基备份集不能被删除</li>
<li>进行增量备份还原，需要将该增量备份之前完整的全库备份及增量备份都进行拷贝</li>
</ul>
</blockquote>
<h6 id="前置准备">前置准备 </h6>
<blockquote>
<p>以下为联机备份</p>
</blockquote>
<ul>
<li>数据准备</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment">-- 创建表并插入数据</span>
<span class="token keyword keyword-create">create</span> <span class="token keyword keyword-table">table</span> test <span class="token punctuation">(</span>a <span class="token keyword keyword-int">int</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span> <span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>第一次备份：全量备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-backup">backup</span> <span class="token keyword keyword-database">database</span> <span class="token keyword keyword-full">full</span> <span class="token keyword keyword-to">to</span> <span class="token string">"DB_DAMENG_FULL_2021_09_28_22_37_43"</span> backupset <span class="token string">'/dm8/data/DAMENG/bak'</span> compressed <span class="token keyword keyword-level">level</span> <span class="token number">1</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>第二次备份：增量备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 插入数据2</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>

<span class="token comment"># 执行增量备份</span>
<span class="token keyword keyword-backup">backup</span> <span class="token keyword keyword-database">database</span> increment <span class="token keyword keyword-to">to</span> <span class="token string">"DB_DAMENG_INCRE_2021_09_28_22_40_46"</span> backupset <span class="token string">'/dm8/data/DAMENG/bak'</span> compressed <span class="token keyword keyword-level">level</span> <span class="token number">1</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>第三次备份：增量备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 插入数据3</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>

<span class="token comment"># 执行增量备份</span>
<span class="token keyword keyword-backup">backup</span> <span class="token keyword keyword-database">database</span> increment <span class="token keyword keyword-to">to</span> <span class="token string">"DB_DAMENG_INCRE_2021_09_28_22_43_20"</span> backupset <span class="token string">'/dm8/data/DAMENG/bak'</span> compressed <span class="token keyword keyword-level">level</span> <span class="token number">1</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>查看备份集</li>
</ul>
<pre data-role="codeBlock" data-info="bash" class="language-bash bash"><code><span class="token comment"># 检查生成的备份集</span>
<span class="token punctuation">[</span>dmdba@localhost bak<span class="token punctuation">]</span>$ <span class="token function">ls</span>
DB_DAMENG_FULL_2021_09_28_22_37_43
DB_DAMENG_INCRE_2021_09_28_22_40_46
DB_DAMENG_INCRE_2021_09_28_22_43_20

<span class="token punctuation">[</span>dmdba@localhost bak<span class="token punctuation">]</span>$ <span class="token builtin class-name">pwd</span>
/dm8/data/DBOA/bak
</code></pre><h6 id="还原步骤">还原步骤 </h6>
<p>1️⃣停止数据库服务，还原步骤如下：</p>
<ul>
<li>检验备份集是否正确</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/dm8/data/DAMENG/bak/DB_DAMENG_INCRE_2021_09_28_22_43_20'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dbdata/dmdata/DAMENG/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET   <span class="token string">'/dm8/data/DAMENG/bak/DB_DAMENG_INCRE_2021_09_28_22_43_20'</span><span class="token punctuation">;</span>  
</code></pre><ul>
<li>恢复</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dbdata/dmdata/DAMENG/dm.ini'</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPSET   <span class="token string">'/dm8/data/DAMENG/bak/DB_DAMENG_INCRE_2021_09_28_22_43_20'</span><span class="token punctuation">;</span> 
</code></pre><ul>
<li>更新数据库魔数</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dbdata/dmdata/DAMENG/dm.ini'</span>  <span class="token keyword keyword-UPDATE">UPDATE</span> DB_MAGIC<span class="token punctuation">;</span>
</code></pre><p>2️⃣还原成功后，启动数据库并开始检查数据</p>
<blockquote>
<p>当备份集为脱机备份即备份过程中无日志生成，那么此时还原后的数据库中数据与备份时数据状态一致。在不需要重做归档日志恢复数据的情况下，可以直接更新 DB_MAGIC 完成数据库恢复操作</p>
</blockquote>
<h5 id="全库--增量备份集--归档还原数据库">全库 + 增量备份集 + 归档还原数据库 </h5>
<p>归档日志是保证数据一致性和完整性的重要保障。配有归档日志的数据库系统在出现故障时丢失数据的可能性更小，这是因为一旦出现介质故障如磁盘损坏时，利用归档日志，系统可被恢复至故障发生的前一刻，也可以还原到指定的时间点</p>
<p>当利用归档恢复到指定时间点时，需调用 UNTIL TIME 字段指定备份的截止时间点，即可以实现恢复数据库到指定时间点</p>
<h6 id="前置准备-1">前置准备 </h6>
<blockquote>
<p>以下为联机备份</p>
</blockquote>
<ul>
<li>数据准备</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-create">create</span> <span class="token keyword keyword-table">table</span> test <span class="token punctuation">(</span>a <span class="token keyword keyword-int">int</span> <span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span> <span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>第一次备份：全库备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-backup">backup</span> <span class="token keyword keyword-database">database</span> <span class="token keyword keyword-full">full</span> <span class="token keyword keyword-to">to</span> <span class="token string">"DB_DAMENG_FULL_2021_09_28_22_37_43"</span> backupset <span class="token string">'/dm8/data/DAMENG/bak'</span> compressed <span class="token keyword keyword-level">level</span> <span class="token number">1</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>第二次备份：增量备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 插入数据2</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>

<span class="token comment"># 执行增量备份</span>
<span class="token keyword keyword-backup">backup</span> <span class="token keyword keyword-database">database</span> increment <span class="token keyword keyword-to">to</span> <span class="token string">"DB_DAMENG_INCRE_2021_09_28_22_40_46"</span> backupset <span class="token string">'/dm8/data/DAMENG/bak'</span> compressed <span class="token keyword keyword-level">level</span> <span class="token number">1</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>第三次备份：增量备份</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 插入数据3</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>

<span class="token comment"># 执行增量备份</span>
<span class="token keyword keyword-backup">backup</span> <span class="token keyword keyword-database">database</span> increment <span class="token keyword keyword-to">to</span> <span class="token string">"DB_DAMENG_INCRE_2021_09_28_22_43_20"</span> backupset <span class="token string">'/dm8/data/DAMENG/bak'</span> compressed <span class="token keyword keyword-level">level</span> <span class="token number">1</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>插入数据 4 并提交，产生新数据归档</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 插入数据4</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span><span class="token punctuation">(</span><span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>插入数据 5 并提交，产生新数据归档</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 插入数据5</span>
<span class="token keyword keyword-insert">insert</span> <span class="token keyword keyword-into">into</span> test <span class="token keyword keyword-values">values</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword keyword-commit">commit</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>查看备份集</li>
</ul>
<pre data-role="codeBlock" data-info="bash" class="language-bash bash"><code><span class="token punctuation">[</span>dmdba@localhost bak<span class="token punctuation">]</span>$ <span class="token function">ls</span>
DB_DAMENG_FULL_2021_09_28_22_37_43
DB_DAMENG_INCRE_2021_09_28_22_40_46
DB_DAMENG_INCRE_2021_09_28_22_43_20

<span class="token punctuation">[</span>dmdba@localhost bak<span class="token punctuation">]</span>$ <span class="token builtin class-name">pwd</span>
/dm8/data/DBOA/bak
</code></pre><h6 id="还原到当前最新数据时刻">还原到当前最新数据时刻 </h6>
<p>1️⃣停止数据库服务，还原步骤如下：</p>
<ul>
<li>检验备份集是否正确</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET  <span class="token string">'/dm8/data/DAMENG/bak/DB_DAMENG_INCRE_2021_09_28_22_43_20'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dbdata/data/DAMENG/dm.ini'</span>  <span class="token keyword keyword-FROM">FROM</span>  BACKUPSET  <span class="token string">'/dm8/data/DAMENG/bak/DB_DAMENG_INCRE_2021_09_28_22_43_20'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>恢复</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dbdata/data/DAMENG/dm.ini'</span>  <span class="token keyword keyword-WITH">WITH</span> ARCHIVEDIR <span class="token string">'/dm8/dmarch'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>更新数据库魔数</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dm8/data/DAMENG/dm.ini'</span>  <span class="token keyword keyword-UPDATE">UPDATE</span> DB_MAGIC<span class="token punctuation">;</span>
</code></pre><p>2️⃣还原成功后，启动数据库，并检验数据库里最新记录值</p>
<h6 id="还原到指定时间点">还原到指定时间点 </h6>
<p>1️⃣停止数据库服务，还原步骤如下：</p>
<ul>
<li>检验备份集是否正确</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET  <span class="token string">'/dm8/data/DAMENG/bak/DB_DAMENG_INCRE_2021_09_29_13_24_28'</span><span class="token punctuation">;</span>  
</code></pre><ul>
<li>还原</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dbdata/data/DAMENG/dm.ini'</span>  <span class="token keyword keyword-FROM">FROM</span>  BACKUPSET  <span class="token string">'/dm8/data/DAMENG/bak/DB_DAMENG_INCRE_2021_09_29_13_24_28'</span><span class="token punctuation">;</span>  
</code></pre><ul>
<li>恢复</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dbdata/data/DAMENG/dm.ini'</span>  <span class="token keyword keyword-WITH">WITH</span> ARCHIVEDIR
 <span class="token string">'/dm8/dmarch'</span>  UNTIL <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'2021-12-17 15:21:00 '</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>更新数据库魔数</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/dm8/data/DAMENG/dm.ini'</span>  <span class="token keyword keyword-UPDATE">UPDATE</span> DB_MAGIC<span class="token punctuation">;</span>
</code></pre><p>2️⃣还原成功后，启动数据库，并检验数据库里最新记录值</p>
<h3 id="表空间还原-1">表空间还原 </h3>
<h4 id="还原-3">还原 </h4>
<p>使用<code>RESTORE</code>命令完成表空间的脱机还原，还原的备份集可以是联机或脱机生成的<strong>库备份集</strong>，也可以是联机生成的<strong>表空间备份集</strong>。脱机表空间还原仅涉及表空间数据文件的重建与数据页的拷贝。不需要事先置目标表空间为<code>OFFLINE</code>状态</p>
<p>表空间还原不能是 TEMP 表空间，指定文件还原也不能为 TEMP 表空间中文件。<strong>表空间还原要求还原目标库与备份库为同一个库</strong></p>
<p>表空间还原后，表空间状态被置为<code>RES_OFFLINE</code>，并设置数据标记<code>FIL_TS_RECV_STATE_RESTORED</code>，表示已经还原但数据不完整</p>
<h5 id="语法-10">语法 </h5>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;ini_path&gt;'</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> <span class="token operator">&lt;</span>表空间名<span class="token operator">&gt;</span> 

<span class="token comment"># 指定还原前校验备份集数据完整性。缺省不校验</span>
<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> <span class="token keyword keyword-CHECK">CHECK</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>DATAFILE <span class="token operator">&lt;</span>文件编号<span class="token operator">&gt;</span> {<span class="token punctuation">,</span><span class="token operator">&lt;</span>文件编号<span class="token operator">&gt;</span>} <span class="token operator">|</span> <span class="token string">'&lt;文件路径&gt;'</span> {<span class="token punctuation">,</span><span class="token string">'&lt;文件路径&gt;'</span>}<span class="token punctuation">]</span>

<span class="token comment"># 指定备份集路径/备份名</span>
<span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span>

<span class="token comment"># 存储备份集的介质类型（默认DISK）；介质参数，只对介质类型为 TAPE 时有效</span>
<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span><span class="token punctuation">]</span> <span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> BACKUPDIR <span class="token string">'&lt;基备份搜索目录&gt;'</span> {<span class="token punctuation">,</span><span class="token string">'&lt;基备份搜索目录&gt;'</span>}<span class="token punctuation">]</span>

<span class="token comment"># 指定存放还原目标路径的映射文件路径</span>
<span class="token punctuation">[</span>MAPPED <span class="token keyword keyword-FILE">FILE</span> <span class="token string">'&lt;映射文件路径&gt;'</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>TASK THREAD <span class="token operator">&lt;</span>线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><table>
<thead>
<tr>
<th>配置项</th>
<th>配置项含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>DATAFILE</td>
<td>还原指定的数据文件。可以指定数据文件编号或数据文件路径。文件编号，对应动态视图 V<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi><mi>A</mi><mi>T</mi><mi>A</mi><mi>F</mi><mi>I</mi><mi>L</mi><mi>E</mi><mtext>中</mtext><mi>I</mi><mi>D</mi><mtext>列的值；文件路径，对应动态视图</mtext><mi>V</mi></mrow><annotation encoding="application/x-tex">DATAFILE 中 ID 列的值；文件路径，对应动态视图 V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.02778em;">D</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.13889em;">T</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.13889em;">F</span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal">L</span><span class="mord mathnormal" style="margin-right:0.05764em;">E</span><span class="mord cjk_fallback">中</span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.02778em;">D</span><span class="mord cjk_fallback">列的值；文件路径，对应动态视图</span><span class="mord mathnormal" style="margin-right:0.22222em;">V</span></span></span></span>DATAFILE 中 PATH 或者 MIRROR_PATH 列的值，也可以仅指定数据文件名称（相对路径），与表空间中数据文件匹配时，会使用 SYSTEM 目录补齐</td>
</tr>
<tr>
<td>TASK THREAD</td>
<td>还原过程中数据处理过程线程的个数，取值范围 0~64，默认为 4。若指定为 0，则调整为 1；若指定超过当前系统主机核数，则调整为当前系统主机核数</td>
</tr>
</tbody>
</table>
<h5 id="还原联机全备">还原联机全备 </h5>
<ul>
<li>联机备份表空间，保证数据库运行在归档模式及 OPEN 状态</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN BACKUPNAME TS_FULL_BAK_01 BACKUPSET <span class="token string">'/home/dm_bak/ts_full_bak_for_restore'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>校验备份，校验待还原备份集的合法性。校验备份有两种方式，联机和脱机（此处为脱机校验）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/home/dm_bak/ts_full_bak_for_restore'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原表空间。需要注意，表空间还原的目标库只能是备份集产生的源库，否则将报错</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 指定备份集路径进行还原</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN <span class="token keyword keyword-FROM">FROM</span> BACKUPSET  <span class="token string">'/home/dm_bak/ts_full_bak_for_restore'</span><span class="token punctuation">;</span>

<span class="token comment"># 指定备份名称进行还原</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME TS_FULL_BAK_01<span class="token punctuation">;</span>
</code></pre><h4 id="恢复-1">恢复 </h4>
<p>表空间恢复通过重做 REDO 日志，以将数据更新到一致状态。由于日志重做过程中，修改好的数据页首先存入缓冲区，缓冲区分批次将修改好的数据页写入磁盘，如果在此过程中发生异常中断，可能导致缓冲区中的数据页无法写入磁盘，造成数据的不一致，数据库启动时校验失败，<strong>所以表空间恢复过程中不允许异常中断</strong></p>
<p>恢复完成后，表空间状态置为<code>ONLINE</code>，并设置数据标记为<code>FIL_TS_RECV_STAT_RECOVERED</code>，表示数据已恢复到一致状态</p>
<h5 id="语法-11">语法 </h5>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;ini_path&gt;'</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> <span class="token operator">&lt;</span>表空间名<span class="token operator">&gt;</span> 

<span class="token comment"># 归档日志搜索目录。缺省情况下在 dmarch.ini 中指定的归档目录中搜索</span>
<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> ARCHIVEDIR <span class="token string">'归档日志目录'</span>{<span class="token punctuation">,</span><span class="token string">'归档日志目录'</span>}<span class="token punctuation">]</span>

<span class="token comment"># 指定本地归档日志对应数据库的 DB_MAGIC，若不指定，则默认使用目标恢复数据库的 DB_MAGIC</span>
<span class="token punctuation">[</span><span class="token keyword keyword-USE">USE</span> DB_MAGIC <span class="token operator">&lt;</span>db_magic<span class="token operator">&gt;</span><span class="token punctuation">]</span>

<span class="token comment"># 恢复数据库到指定的时间点</span>
<span class="token punctuation">[</span>UNTIL <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;时间串&gt;'</span><span class="token punctuation">]</span>

<span class="token comment"># 恢复数据库到指定的 LSN。如果指定的 UNTIL LSN 小于备份结束 LSN（END_LSN），则报错</span>
<span class="token punctuation">[</span>UNTIL LSN <span class="token operator">&lt;</span>LSN<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><h5 id="恢复联机全备">恢复联机全备 </h5>
<ul>
<li>联机备份表空间，保证数据库运行在归档模式及 OPEN 状态</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN BACKUPSET <span class="token string">'/home/dm_bak/ts_full_bak_for_recover'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>校验备份，校验待还原备份集的合法性（使用脱机校验）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/home/dm_bak/ts_full_bak_for_recover'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原表空间</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini'</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/ts_full_bak_for_recover'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>恢复表空间</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> RECOVER <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini'</span> <span class="token keyword keyword-TABLESPACE">TABLESPACE</span> MAIN<span class="token punctuation">;</span>
</code></pre><h3 id="归档日志还原">归档日志还原 </h3>
<p>使用<code>RESTORE</code>命令完成脱机还原归档操作，在还原语句中指定归档备份集。备份集可为脱机或联机</p>
<h4 id="语法-12">语法 </h4>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-RESTORE">RESTORE</span> <span class="token operator">&lt;</span>ARCHIVE LOG <span class="token operator">|</span> ARCHIVELOG<span class="token operator">&gt;</span> 

<span class="token comment"># 指定还原前校验备份集数据完整性。缺省不校验</span>
<span class="token punctuation">[</span><span class="token keyword keyword-WITH">WITH</span> <span class="token keyword keyword-CHECK">CHECK</span><span class="token punctuation">]</span> 

<span class="token comment"># 指定备份集路径/备份名</span>
<span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'&lt;备份集路径&gt;'</span> <span class="token operator">|</span> <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME <span class="token operator">&lt;</span>备份名<span class="token operator">&gt;</span>

<span class="token punctuation">[</span>DEVICE <span class="token keyword keyword-TYPE">TYPE</span> <span class="token operator">&lt;</span>介质类型<span class="token operator">&gt;</span> <span class="token punctuation">[</span>PARMS <span class="token string">'&lt;介质参数&gt;'</span><span class="token punctuation">]</span><span class="token punctuation">]</span>

<span class="token punctuation">[</span>IDENTIFIED <span class="token keyword keyword-BY">BY</span> <span class="token operator">&lt;</span>密码<span class="token operator">&gt;</span><span class="token operator">|</span><span class="token string">"&lt;密码&gt;"</span> <span class="token punctuation">[</span>ENCRYPT <span class="token keyword keyword-WITH">WITH</span> <span class="token operator">&lt;</span>加密算法<span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span>TASK THREAD <span class="token operator">&lt;</span>任务线程数<span class="token operator">&gt;</span><span class="token punctuation">]</span> 

<span class="token punctuation">[</span> 
 <span class="token keyword keyword-ALL">ALL</span> <span class="token operator">|</span> 
 <span class="token punctuation">[</span><span class="token keyword keyword-FROM">FROM</span> LSN <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>UNTIL LSN <span class="token operator">&lt;</span>lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>LSN <span class="token operator">BETWEEN</span> <span class="token operator">&lt;</span> lsn<span class="token operator">&gt;</span> <span class="token operator">AND</span> <span class="token operator">&lt;</span> lsn<span class="token operator">&gt;</span><span class="token punctuation">]</span> <span class="token operator">|</span> 
 <span class="token punctuation">[</span><span class="token keyword keyword-FROM">FROM</span> <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span>UNTIL <span class="token keyword keyword-TIME">TIME</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span> <span class="token operator">|</span> <span class="token punctuation">[</span><span class="token keyword keyword-TIME">TIME</span> <span class="token operator">BETWEEN</span> <span class="token string">'&lt;time&gt;'</span> <span class="token operator">AND</span> <span class="token string">'&lt;time&gt;'</span><span class="token punctuation">]</span> 
<span class="token punctuation">]</span> 

<span class="token keyword keyword-TO">TO</span> ARCHIVEDIR <span class="token string">'&lt;归档日志目录&gt;'</span> <span class="token operator">|</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;ini_path&gt;'</span>

<span class="token punctuation">[</span>OVERWRITE <span class="token operator">&lt;</span><span class="token keyword keyword-level">level</span><span class="token operator">&gt;</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
</code></pre><table>
<thead>
<tr>
<th>配置项</th>
<th>配置项含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>ARCHIVEDIR</td>
<td>指定还原的目标归档日志目录</td>
</tr>
<tr>
<td>DATABASE</td>
<td>指定还原目标库的 dm.ini 文件路径，将归档日志还原到该库的归档日志目录中</td>
</tr>
<tr>
<td>OVERWRITE</td>
<td>还原归档时，指定归档日志已经存在时的处理方式。可取值 1、2、3，缺省为 1<br>1：跳过已存在的归档日志，继续其他日志的还原。跳过的日志信息会生成一条日志记录在安装目录的 log 目录中的 dm_BAKRES_年月.log 日志文件中<br>2：直接报错返回<br>3：强制覆盖已存在的归档日志</td>
</tr>
</tbody>
</table>
<h4 id="归档还原-1">归档还原 </h4>
<ul>
<li>联机备份归档，保证数据库运行在归档模式及 OPEN 状态</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token keyword keyword-BACKUP">BACKUP</span> ARCHIVE LOG <span class="token keyword keyword-ALL">ALL</span> BACKUPNAME ARCH_ALL_BAK_01 BACKUPSET <span class="token string">'/home/dm_bak/arch_all_for_restore'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>校验备份，校验待还原备份集的合法性（此处为脱机校验）</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-CHECK">CHECK</span> BACKUPSET <span class="token string">'/home/dm_bak/arch_all_for_restore'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>还原归档。启动 DMRMAN，设置 OVERWRITE 为 2，如果归档文件已存在，会报错</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code><span class="token comment"># 方式一：指定还原的目标归档日志目录</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> ARCHIVE LOG <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/arch_all_for_restore'</span> <span class="token keyword keyword-TO">TO</span> ARCHIVEDIR<span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/arch_dest'</span> OVERWRITE <span class="token number">2</span><span class="token punctuation">;</span>

<span class="token comment"># 方式二：指定还原目标库的 dm.ini 文件路径</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> ARCHIVE LOG <span class="token keyword keyword-FROM">FROM</span> BACKUPSET <span class="token string">'/home/dm_bak/arch_all_for_restore'</span> <span class="token keyword keyword-TO">TO</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> OVERWRITE <span class="token number">2</span><span class="token punctuation">;</span>

<span class="token comment"># 方式三：指定备份名称进行还原</span>
RMAN<span class="token operator">&gt;</span> <span class="token keyword keyword-RESTORE">RESTORE</span> ARCHIVE LOG <span class="token keyword keyword-FROM">FROM</span> BACKUPNAME ARCH_ALL_BAK_01 <span class="token keyword keyword-TO">TO</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini'</span> OVERWRITE <span class="token number">2</span><span class="token punctuation">;</span>
</code></pre><h4 id="归档修复">归档修复 </h4>
<p>使用<code>REPAIR</code>命令完成指定数据库的归档修复，归档修复会对目标库<code>dmarch.ini</code>中配置的所有本地归档日志目录执行修复。若目标库没有配置本地归档，则不执行修复</p>
<p>执行修复时，目标库一定不能处于运行状态。一般建议在数据库故障后，应立即执行归档修复，否则后续还原恢复将会导致联机日志中未刷入本地归档的 REDO 日志丢失，届时再利用本地归档恢复将无法恢复到故障前的最新状态</p>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>REPAIR <span class="token operator">&lt;</span>ARCHIVE LOG <span class="token operator">|</span> ARCHIVELOG<span class="token operator">&gt;</span> <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'&lt;ini_path&gt;'</span><span class="token punctuation">;</span>
<span class="token comment"># DATABASE：指定待修复归档的数据库对应的 dm.ini 文件路径。</span>
</code></pre><ul>
<li>单机环境下，确保目标库已经停止工作后，执行归档修复</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> REPAIR ARCHIVELOG <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/data/dm.ini'</span><span class="token punctuation">;</span>
</code></pre><ul>
<li>DSC 环境下，需要每个节点停止工作后，每个节点独立执行修复操作</li>
</ul>
<pre data-role="codeBlock" data-info="sql" class="language-sql sql"><code>RMAN<span class="token operator">&gt;</span> REPAIR ARCHIVELOG <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/dsc/dm01.ini'</span><span class="token punctuation">;</span>

RMAN<span class="token operator">&gt;</span> REPAIR ARCHIVELOG <span class="token keyword keyword-DATABASE">DATABASE</span> <span class="token string">'/opt/dmdbms/dsc/dm02.ini'</span><span class="token punctuation">;</span>
</code></pre>
      </div>
      <div class="md-sidebar-toc">
<div class="md-toc">
<details style="padding:0;;padding-left:0px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#dm备份恢复" class="md-toc-link"><p>DM备份恢复</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#概述" class="md-toc-link">
            <p>概述</p>

          </a></div><details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#基本概念" class="md-toc-link"><p>基本概念</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#表空间与数据文件" class="md-toc-link">
            <p>表空间与数据文件</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#重做日志" class="md-toc-link">
            <p>重做日志</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#lsn" class="md-toc-link">
            <p>LSN</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#包序号" class="md-toc-link">
            <p>包序号</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#检查点" class="md-toc-link">
            <p>检查点</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份集" class="md-toc-link">
            <p>备份集</p>

          </a></div><details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#备份" class="md-toc-link"><p>备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#逻辑与物理备份" class="md-toc-link">
            <p>逻辑与物理备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#联机与脱机备份" class="md-toc-link">
            <p>联机与脱机备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#数据与归档日志备份" class="md-toc-link">
            <p>数据与归档日志备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#一致与非一致备份" class="md-toc-link">
            <p>一致与非一致备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#完全与增量备份" class="md-toc-link">
            <p>完全与增量备份</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#还原" class="md-toc-link"><p>还原</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#逻辑与物理还原" class="md-toc-link">
            <p>逻辑与物理还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#联机与脱机还原" class="md-toc-link">
            <p>联机与脱机还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#数据与归档日志还原" class="md-toc-link">
            <p>数据与归档日志还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#完全还原与增量还原" class="md-toc-link">
            <p>完全还原与增量还原</p>

          </a></div>
        </div>
      </details>
    <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份还原过程" class="md-toc-link">
            <p>备份还原过程</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#介质管理层" class="md-toc-link">
            <p>介质管理层</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份方式" class="md-toc-link">
            <p>备份方式</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#备份恢复原理" class="md-toc-link"><p>备份恢复原理</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#归档" class="md-toc-link"><p>归档</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#归档种类" class="md-toc-link">
            <p>归档种类</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#归档恢复" class="md-toc-link">
            <p>归档恢复</p>

          </a></div><details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#归档备份还原" class="md-toc-link"><p>归档备份还原</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#归档备份" class="md-toc-link">
            <p>归档备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#归档还原" class="md-toc-link">
            <p>归档还原</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据备份" class="md-toc-link"><p>数据备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#库备份" class="md-toc-link">
            <p>库备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#表空间备份" class="md-toc-link">
            <p>表空间备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#表备份" class="md-toc-link">
            <p>表备份</p>

          </a></div><details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#备份附加项" class="md-toc-link"><p>备份附加项</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#redo日志备份" class="md-toc-link">
            <p>REDO日志备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#压缩与加密" class="md-toc-link">
            <p>压缩与加密</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#并行备份" class="md-toc-link">
            <p>并行备份</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#还原-1" class="md-toc-link"><p>还原</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据还原" class="md-toc-link"><p>数据还原</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#库还原" class="md-toc-link">
            <p>库还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#表空间还原" class="md-toc-link">
            <p>表空间还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#表还原" class="md-toc-link">
            <p>表还原</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据恢复" class="md-toc-link"><p>数据恢复</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据库恢复" class="md-toc-link"><p>数据库恢复</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#恢复一致性" class="md-toc-link">
            <p>恢复一致性</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#更新db_magic" class="md-toc-link">
            <p>更新DB_MAGIC</p>

          </a></div>
        </div>
      </details>
    <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#表空间恢复" class="md-toc-link">
            <p>表空间恢复</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#dmdsc库恢复" class="md-toc-link">
            <p>DMDSC库恢复</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#还原与恢复附加选项" class="md-toc-link"><p>还原与恢复附加选项</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#解密与解压缩" class="md-toc-link">
            <p>解密与解压缩</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#并行还原" class="md-toc-link">
            <p>并行还原</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#支持与限制" class="md-toc-link"><p>支持与限制</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#联机" class="md-toc-link">
            <p>联机</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#脱机" class="md-toc-link">
            <p>脱机</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#归档配置" class="md-toc-link"><p>归档配置</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#何时配置归档" class="md-toc-link">
            <p>何时配置归档</p>

          </a></div><details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#联机配置" class="md-toc-link"><p>联机配置</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#操作示例" class="md-toc-link">
            <p>操作示例</p>

          </a></div>
        </div>
      </details>
    <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#手动配置" class="md-toc-link">
            <p>手动配置</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#联机备份" class="md-toc-link"><p>联机备份</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据库备份" class="md-toc-link"><p>数据库备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-1" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#全量备份" class="md-toc-link">
            <p>全量备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#增量备份" class="md-toc-link">
            <p>增量备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份选项" class="md-toc-link">
            <p>备份选项</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#表空间备份-1" class="md-toc-link"><p>表空间备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-2" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#全量备份-1" class="md-toc-link">
            <p>全量备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#增量备份-1" class="md-toc-link">
            <p>增量备份</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#表备份-1" class="md-toc-link"><p>表备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-3" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#全量备份-2" class="md-toc-link">
            <p>全量备份</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#归档日志备份" class="md-toc-link"><p>归档日志备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-4" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#归档备份-1" class="md-toc-link">
            <p>归档备份</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#管理备份" class="md-toc-link"><p>管理备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份目录管理" class="md-toc-link">
            <p>备份目录管理</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份集校验与删除" class="md-toc-link">
            <p>备份集校验与删除</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#联机还原" class="md-toc-link"><p>联机还原</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#表还原-1" class="md-toc-link"><p>表还原</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-5" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#表数据还原" class="md-toc-link">
            <p>表数据还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#含索引约束表还原" class="md-toc-link">
            <p>含索引/约束表还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#还原时不重建索引" class="md-toc-link">
            <p>还原时不重建索引</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#还原时不重建约束" class="md-toc-link">
            <p>还原时不重建约束</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#脱机备份" class="md-toc-link"><p>脱机备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#dmrman工具" class="md-toc-link">
            <p>DMRMAN工具</p>

          </a></div><details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据库备份-1" class="md-toc-link"><p>数据库备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-6" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#全量备份-3" class="md-toc-link">
            <p>全量备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#增量备份-2" class="md-toc-link">
            <p>增量备份</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#归档备份-2" class="md-toc-link"><p>归档备份</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-7" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#完全备份" class="md-toc-link">
            <p>完全备份</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#指定范围备份" class="md-toc-link">
            <p>指定范围备份</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#备份管理" class="md-toc-link"><p>备份管理</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份信息查看" class="md-toc-link">
            <p>备份信息查看</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份集校验" class="md-toc-link">
            <p>备份集校验</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份集删除" class="md-toc-link">
            <p>备份集删除</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份集导出" class="md-toc-link">
            <p>备份集导出</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#备份集映射文件导出" class="md-toc-link">
            <p>备份集映射文件导出</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#脱机还原" class="md-toc-link"><p>脱机还原</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据库还原" class="md-toc-link"><p>数据库还原</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#还原-2" class="md-toc-link"><p>还原</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-8" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#联机全备还原" class="md-toc-link">
            <p>联机全备还原</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#恢复" class="md-toc-link"><p>恢复</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#恢复一致性-1" class="md-toc-link"><p>恢复一致性</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-9" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#从备份集恢复" class="md-toc-link">
            <p>从备份集恢复</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#从归档恢复" class="md-toc-link">
            <p>从归档恢复</p>

          </a></div>
        </div>
      </details>
    <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#更新db_magic-1" class="md-toc-link">
            <p>更新DB_MAGIC</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#高级场景" class="md-toc-link"><p>高级场景</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#恢复数据库到指定时间点lsn" class="md-toc-link">
            <p>恢复数据库到指定时间点/LSN</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#数据库备份还原全步骤" class="md-toc-link"><p>数据库备份还原全步骤</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#全库--增量备份集还原数据库" class="md-toc-link"><p>全库 + 增量备份集还原数据库</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#前置准备" class="md-toc-link">
            <p>前置准备</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#还原步骤" class="md-toc-link">
            <p>还原步骤</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#全库--增量备份集--归档还原数据库" class="md-toc-link"><p>全库 + 增量备份集 + 归档还原数据库</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#前置准备-1" class="md-toc-link">
            <p>前置准备</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#还原到当前最新数据时刻" class="md-toc-link">
            <p>还原到当前最新数据时刻</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#还原到指定时间点" class="md-toc-link">
            <p>还原到指定时间点</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#表空间还原-1" class="md-toc-link"><p>表空间还原</p>
</a>
          </summary>
        <div>
          <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#还原-3" class="md-toc-link"><p>还原</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-10" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#还原联机全备" class="md-toc-link">
            <p>还原联机全备</p>

          </a></div>
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#恢复-1" class="md-toc-link"><p>恢复</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-11" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#恢复联机全备" class="md-toc-link">
            <p>恢复联机全备</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    <details style="padding:0;;padding-left:24px;" open="">
        <summary class="md-toc-link-wrapper">
          <a href="#归档日志还原" class="md-toc-link"><p>归档日志还原</p>
</a>
          </summary>
        <div>
          <div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#语法-12" class="md-toc-link">
            <p>语法</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#归档还原-1" class="md-toc-link">
            <p>归档还原</p>

          </a></div><div class="md-toc-link-wrapper" style="padding:0;;display:list-item;list-style:square;margin-left:42px">
          <a href="#归档修复" class="md-toc-link">
            <p>归档修复</p>

          </a></div>
        </div>
      </details>
    
        </div>
      </details>
    
        </div>
      </details>
    
</div>
</div>
      <a id="sidebar-toc-btn">≡</a>
    
    
    
    
    
    
<script>

var sidebarTOCBtn = document.getElementById('sidebar-toc-btn')
sidebarTOCBtn.addEventListener('click', function(event) {
  event.stopPropagation()
  if (document.body.hasAttribute('html-show-sidebar-toc')) {
    document.body.removeAttribute('html-show-sidebar-toc')
  } else {
    document.body.setAttribute('html-show-sidebar-toc', true)
  }
})
</script>
      
  
    </body></html>